Code:
                         / Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / OrCondition.cs / 1 / OrCondition.cs
                        
                        
                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//   
//
// 
// Description: 
//
// History: 
//  10/14/2003 : BrendanM - Created
//
//---------------------------------------------------------------------------
 
// PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas.
#pragma warning disable 1634, 1691 
 
using System;
using MS.Internal.Automation; 
using System.Windows.Automation;
using System.Runtime.InteropServices;
namespace System.Windows.Automation 
{
    ///  
    /// Condition that checks whether a pattern is currently present for a LogicalElement 
    ///  
#if (INTERNAL_COMPILE) 
    internal class OrCondition : Condition
#else
    public class OrCondition : Condition
#endif 
    {
        //----------------------------------------------------- 
        // 
        //  Constructors
        // 
        //-----------------------------------------------------
        #region Constructors
 
        /// 
        /// Constructor to create a condition that is true if any of the sub-conditions are true 
        ///   
        /// One or more sub-condition
        public OrCondition( params Condition [ ] conditions ) 
        {
            Misc.ValidateArgumentNonNull( conditions, "conditions" );
            Misc.ValidateArgument( conditions.Length >= 2, SRID.MustBeAtLeastTwoConditions );
            foreach( Condition condition in conditions ) 
            {
                Misc.ValidateArgumentNonNull( condition, "conditions" ); 
            } 
            // clone array to prevent accidental tampering 
            _conditions = (Condition[])conditions.Clone();
            _conditionArrayHandle = SafeConditionMemoryHandle.AllocateConditionArrayHandle(_conditions);
            // DangerousGetHandle() reminds us that the IntPtr we get back could be collected/released/recycled. We're safe here,
            // because the Conditions are structured in a tree, with the root one (which gets passed to the Uia API) keeping all 
            // others - and their associated data - alive. (Recycling isn't an issue as these are immutable classes.)
            SetMarshalData(new UiaCoreApi.UiaAndOrCondition(UiaCoreApi.ConditionType.Or, _conditionArrayHandle.DangerousGetHandle(), _conditions.Length)); 
        } 
        #endregion Constructors
 
        //------------------------------------------------------
        //
        //  Public Methods 
        //
        //----------------------------------------------------- 
 
        #region Public Methods
 
        /// 
        /// Returns an array of the sub conditions for this condition.
        ///  
        ///  
        /// The returned array is a copy; modifying it will not affect the
        /// state of the condition. 
        ///   
        public Condition [ ] GetConditions()
        { 
            return (Condition []) _conditions.Clone();
        }
        #endregion Public Methods 
 
        //------------------------------------------------------ 
        //
        //  Private Fields 
        //
        //------------------------------------------------------
        #region Private Fields 
        Condition [ ] _conditions; 
        SafeConditionMemoryHandle _conditionArrayHandle; 
        #endregion Private Fields 
    }
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//   
//
// 
// Description: 
//
// History: 
//  10/14/2003 : BrendanM - Created
//
//---------------------------------------------------------------------------
 
// PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas.
#pragma warning disable 1634, 1691 
 
using System;
using MS.Internal.Automation; 
using System.Windows.Automation;
using System.Runtime.InteropServices;
namespace System.Windows.Automation 
{
    ///  
    /// Condition that checks whether a pattern is currently present for a LogicalElement 
    ///  
#if (INTERNAL_COMPILE) 
    internal class OrCondition : Condition
#else
    public class OrCondition : Condition
#endif 
    {
        //----------------------------------------------------- 
        // 
        //  Constructors
        // 
        //-----------------------------------------------------
        #region Constructors
 
        /// 
        /// Constructor to create a condition that is true if any of the sub-conditions are true 
        ///   
        /// One or more sub-condition
        public OrCondition( params Condition [ ] conditions ) 
        {
            Misc.ValidateArgumentNonNull( conditions, "conditions" );
            Misc.ValidateArgument( conditions.Length >= 2, SRID.MustBeAtLeastTwoConditions );
            foreach( Condition condition in conditions ) 
            {
                Misc.ValidateArgumentNonNull( condition, "conditions" ); 
            } 
            // clone array to prevent accidental tampering 
            _conditions = (Condition[])conditions.Clone();
            _conditionArrayHandle = SafeConditionMemoryHandle.AllocateConditionArrayHandle(_conditions);
            // DangerousGetHandle() reminds us that the IntPtr we get back could be collected/released/recycled. We're safe here,
            // because the Conditions are structured in a tree, with the root one (which gets passed to the Uia API) keeping all 
            // others - and their associated data - alive. (Recycling isn't an issue as these are immutable classes.)
            SetMarshalData(new UiaCoreApi.UiaAndOrCondition(UiaCoreApi.ConditionType.Or, _conditionArrayHandle.DangerousGetHandle(), _conditions.Length)); 
        } 
        #endregion Constructors
 
        //------------------------------------------------------
        //
        //  Public Methods 
        //
        //----------------------------------------------------- 
 
        #region Public Methods
 
        /// 
        /// Returns an array of the sub conditions for this condition.
        ///  
        ///  
        /// The returned array is a copy; modifying it will not affect the
        /// state of the condition. 
        ///   
        public Condition [ ] GetConditions()
        { 
            return (Condition []) _conditions.Clone();
        }
        #endregion Public Methods 
 
        //------------------------------------------------------ 
        //
        //  Private Fields 
        //
        //------------------------------------------------------
        #region Private Fields 
        Condition [ ] _conditions; 
        SafeConditionMemoryHandle _conditionArrayHandle; 
        #endregion Private Fields 
    }
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        
                        
                        
                        
                    Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- __TransparentProxy.cs
 - NamespaceEmitter.cs
 - WebPartDescription.cs
 - ManagementEventArgs.cs
 - WebPartConnectionsConfigureVerb.cs
 - SelectionWordBreaker.cs
 - DispatcherProcessingDisabled.cs
 - XPathNodeHelper.cs
 - MonthCalendar.cs
 - Buffer.cs
 - IRCollection.cs
 - UniqueConstraint.cs
 - MapPathBasedVirtualPathProvider.cs
 - WizardForm.cs
 - SemaphoreFullException.cs
 - PropertyValidationContext.cs
 - PartialCachingAttribute.cs
 - OleDbParameter.cs
 - PropertyBuilder.cs
 - RightsManagementLicense.cs
 - IfJoinedCondition.cs
 - XmlJsonWriter.cs
 - DataServiceQueryOfT.cs
 - XmlIlVisitor.cs
 - CharacterMetricsDictionary.cs
 - MouseGestureValueSerializer.cs
 - Delegate.cs
 - TextEmbeddedObject.cs
 - SqlProcedureAttribute.cs
 - XomlCompilerResults.cs
 - SymmetricSecurityBindingElement.cs
 - HostingMessageProperty.cs
 - DescriptionCreator.cs
 - GenerateHelper.cs
 - FontDriver.cs
 - DiagnosticsConfiguration.cs
 - activationcontext.cs
 - BuildResult.cs
 - BrowserCapabilitiesFactory.cs
 - RegexStringValidator.cs
 - exports.cs
 - MatrixTransform.cs
 - GacUtil.cs
 - ReplacementText.cs
 - LocalizableResourceBuilder.cs
 - RoleServiceManager.cs
 - PageBuildProvider.cs
 - ISAPIApplicationHost.cs
 - XmlSchemaException.cs
 - MSAAWinEventWrap.cs
 - RegistryHandle.cs
 - ObjectSpanRewriter.cs
 - ToolStripRendererSwitcher.cs
 - OdbcDataReader.cs
 - RadioButtonList.cs
 - SmtpSpecifiedPickupDirectoryElement.cs
 - ImplicitInputBrush.cs
 - TickBar.cs
 - RepeaterItem.cs
 - DoubleCollectionConverter.cs
 - ObjectDataSourceEventArgs.cs
 - UnsafeNativeMethodsPenimc.cs
 - SingleKeyFrameCollection.cs
 - SerializerWriterEventHandlers.cs
 - DuplicateDetector.cs
 - ConfigXmlCDataSection.cs
 - ReadOnlyCollectionBase.cs
 - ClassicBorderDecorator.cs
 - NameSpaceExtractor.cs
 - CodeStatementCollection.cs
 - ProcessStartInfo.cs
 - SourceFilter.cs
 - SmiRecordBuffer.cs
 - NamespaceInfo.cs
 - LogReservationCollection.cs
 - InputLangChangeRequestEvent.cs
 - GroupItemAutomationPeer.cs
 - ActiveDesignSurfaceEvent.cs
 - KerberosSecurityTokenAuthenticator.cs
 - FormsAuthenticationTicket.cs
 - DictionaryKeyPropertyAttribute.cs
 - Brush.cs
 - Membership.cs
 - SafeFileMappingHandle.cs
 - PersistStreamTypeWrapper.cs
 - XmlArrayAttribute.cs
 - MatcherBuilder.cs
 - SymbolType.cs
 - AnonymousIdentificationSection.cs
 - MemberPath.cs
 - SqlDataSourceQuery.cs
 - HealthMonitoringSection.cs
 - Debug.cs
 - DecimalKeyFrameCollection.cs
 - ConnectionConsumerAttribute.cs
 - WriteStateInfoBase.cs
 - wgx_sdk_version.cs
 - webeventbuffer.cs
 - QueryResult.cs
 - BamlRecords.cs