Base class for all proxies
Inheritance: ICpProxy
Ejemplo n.º 1
0
        private static void InitialEvent(IntPtr aPtr)
        {
            GCHandle gch  = GCHandle.FromIntPtr(aPtr);
            CpProxy  self = (CpProxy)gch.Target;

            Property.CallPropertyChangedDelegate(self.iInitialEvent);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Request an invocation object prior to setting input/output arguments
 /// </summary>
 /// <param name="aAction">Action which will be invoked</param>
 /// <param name="aCallback">Delegate to run when the action completes</param>
 /// <returns>Invocation object, ready to receive input and output arguments</returns>
 public Invocation Invocation(OpenHome.Net.Core.Action aAction, CpProxy.CallbackAsyncComplete aCallback)
 {
     Invocation invocation = new Invocation(this, aAction.Handle(), aCallback);
     lock (this)
     {
         iActiveInvocations.Add(invocation);
     }
     return invocation;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor.  Not intended for external use (use CpService.Invocation instead)
 /// </summary>
 /// <param name="aService">Service the action is being invoked on</param>
 /// <param name="aAction">Handle to the action being invoked</param>
 /// <param name="aCallback">Callback to run when the action completes</param>
 internal Invocation(CpService aService, IntPtr aAction, CpProxy.CallbackAsyncComplete aCallback)
 {
     iService = aService;
     iInputArgs = new List<Argument>();
     iOutputArgs = new List<Argument>();
     GCHandle gch = GCHandle.Alloc(this); /* no need to store gch as a member as AsyncComplete is guaranteed
                                             to be called, even in error cases */
     iAsyncComplete = aCallback;
     iCallbackAsyncComplete = new CpProxy.CallbackActionComplete(AsyncComplete);
     IntPtr ptr = GCHandle.ToIntPtr(gch);
     iHandle = CpServiceInvocation(aService.Handle(), aAction, iCallbackAsyncComplete, ptr);
 }
Ejemplo n.º 4
0
 static extern IntPtr CpServiceInvocation(IntPtr aService, IntPtr aAction, CpProxy.CallbackActionComplete aCallback, IntPtr aPtr);