ConnectionComplete() protected method

ConnectionComplete action.
Will be called when the device stack receives an invocation of the ConnectionComplete action for the owning device. Must be implemented iff EnableActionConnectionComplete was called.
protected ConnectionComplete ( IDvInvocation aInvocation, int aConnectionID ) : void
aInvocation IDvInvocation Interface allowing querying of aspects of this particular action invocation.
aConnectionID int
return void
Beispiel #1
0
        private static int DoConnectionComplete(IntPtr aPtr, IntPtr aInvocation)
        {
            GCHandle gch = GCHandle.FromIntPtr(aPtr);
            DvProviderUpnpOrgConnectionManager1 self = (DvProviderUpnpOrgConnectionManager1)gch.Target;
            DvInvocation invocation = new DvInvocation(aInvocation);
            int          connectionID;

            try
            {
                invocation.ReadStart();
                connectionID = invocation.ReadInt("ConnectionID");
                invocation.ReadEnd();
                self.ConnectionComplete(invocation, connectionID);
            }
            catch (ActionError e)
            {
                invocation.ReportActionError(e, "ConnectionComplete");
                return(-1);
            }
            catch (PropertyUpdateError)
            {
                invocation.ReportError(501, String.Format("Invalid value for property {0}", new object[] { "ConnectionComplete" }));
                return(-1);
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("WARNING: unexpected exception {0} thrown by {1}", new object[] { e, "ConnectionComplete" });
                System.Diagnostics.Debug.WriteLine("         Only ActionError or PropertyUpdateError should be thrown by actions");
                return(-1);
            }
            try
            {
                invocation.WriteStart();
                invocation.WriteEnd();
            }
            catch (ActionError)
            {
                return(-1);
            }
            catch (System.Exception e)
            {
                System.Diagnostics.Debug.WriteLine("WARNING: unexpected exception {0} thrown by {1}", new object[] { e, "ConnectionComplete" });
                System.Diagnostics.Debug.WriteLine("       Only ActionError can be thrown by action response writer");
            }
            return(0);
        }
Beispiel #2
0
        private static int DoConnectionComplete(IntPtr aPtr, IntPtr aInvocation)
        {
            GCHandle gch = GCHandle.FromIntPtr(aPtr);
            DvProviderUpnpOrgConnectionManager1 self = (DvProviderUpnpOrgConnectionManager1)gch.Target;
            DvInvocation invocation = new DvInvocation(aInvocation);
            int          connectionID;

            try
            {
                invocation.ReadStart();
                connectionID = invocation.ReadInt("ConnectionID");
                invocation.ReadEnd();
                self.ConnectionComplete(invocation, connectionID);
            }
            catch (ActionError e)
            {
                invocation.ReportActionError(e, "ConnectionComplete");
                return(-1);
            }
            catch (PropertyUpdateError)
            {
                invocation.ReportError(501, String.Format("Invalid value for property {0}", "ConnectionComplete"));
                return(-1);
            }
            catch (Exception e)
            {
                Console.WriteLine("WARNING: unexpected exception {0}(\"{1}\") thrown by {2} in {3}", e.GetType(), e.Message, "ConnectionComplete", e.TargetSite.Name);
                Console.WriteLine("         Only ActionError or PropertyUpdateError should be thrown by actions");
                return(-1);
            }
            try
            {
                invocation.WriteStart();
                invocation.WriteEnd();
            }
            catch (ActionError)
            {
                return(-1);
            }
            catch (System.Exception e)
            {
                Console.WriteLine("ERROR: unexpected exception {0}(\"{1}\") thrown by {2} in {3}", e.GetType(), e.Message, "ConnectionComplete", e.TargetSite.Name);
                Console.WriteLine("       Only ActionError can be thrown by action response writer");
            }
            return(0);
        }