// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// Description: Provider-side wrapper for Selectioin Pattern
using System;
using System.Diagnostics;
using System.Windows.Automation.Provider;
namespace MS.Internal.Automation
{
// Provider-side wrapper for Selection pattern
// converts params between RawElementServerWrapper and IRawElementProvider
internal class SelectionPatternProviderSideWrapper: MarshalByRefObject
{
//------------------------------------------------------
//
// Constructors
//
//------------------------------------------------------
#region Constructors
private SelectionPatternProviderSideWrapper(ISelectionProvider target)
{
Debug.Assert(target != null);
_target = target;
}
#endregion Constructors
//------------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
internal static object Wrap( object target )
{
return new SelectionPatternProviderSideWrapper((ISelectionProvider)target);
}
// public so that RPC can call it
public IRawElementProviderSimple[] GetSelection()
{
return _target.GetSelection();
}
#endregion Internal Methods
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
#region Public Properties
// public so that RPC can call it
public bool CanSelectMultiple
{
get
{
return _target.CanSelectMultiple;
}
}
// public so that RPC can call it
public bool IsSelectionRequired
{
get
{
return _target.IsSelectionRequired;
}
}
#endregion Public Properties
//------------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
private ISelectionProvider _target;
#endregion Private Fields
}
}
|