protected void InitialState_GetCurrentConnectionInfoSink(CpConnectionManager sender, System.Int32 ConnectionID, System.Int32 RcsID, System.Int32 AVTransportID, System.String ProtocolInfo, System.String PeerConnectionManager, System.Int32 PeerConnectionID, CpConnectionManager.Enum_A_ARG_TYPE_Direction Direction, CpConnectionManager.Enum_A_ARG_TYPE_ConnectionStatus Status, UPnPInvokeException e, object __tag)
        {
            this.ProtocolInfoString = ProtocolInfo;

            bool OK = false;

            lock (this)
            {
                --StateCounter;
                if (StateCounter == 0)
                {
                    this.UpdateCurrentItem();
                    OK = true;
                }
            }

            if (OK)
            {
                if (OnReady != null)
                {
                    OnReady(this, Tag);
                }
            }
        }
コード例 #2
0
        protected void ConnectionInfoSink(CpConnectionManager sender, System.Int32 ConnectionID, System.Int32 RcsID, System.Int32 AVTransportID, System.String ProtocolInfo, System.String PeerConnectionManager, System.Int32 PeerConnectionID, CpConnectionManager.Enum_A_ARG_TYPE_Direction Direction, CpConnectionManager.Enum_A_ARG_TYPE_ConnectionStatus Status, UPnPInvokeException e, object Handle)
        {
            if (e != null)
            {
                return;
            }

            AVConnection av = null;

            lock (InstanceList)
            {
                foreach (AVConnection a in InstanceList)
                {
                    if (a.ConnectionID == ConnectionID)
                    {
                        av = a;
                        break;
                    }
                }
                if (av == null)
                {
                    av         = new AVConnection(MainDevice, AVTransportID, RcsID, ConnectionID, new AVConnection.OnReadyHandler(ReadySink), Handle);
                    av._Parent = this;
                    InstanceList.Add(av);
                }
                else
                {
                    return;                     // Don't need to trigger event
                }
            }

            // Wait for Ready before sending OnCreateConnection
        }
 /// <summary>
 /// This is called when GetCurrentConnectionInfo completes.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="ConnectionID"></param>
 /// <param name="RcsID"></param>
 /// <param name="AVTransportID"></param>
 /// <param name="ProtocolInfo"></param>
 /// <param name="PeerConnectionManager"></param>
 /// <param name="PeerConnectionID"></param>
 /// <param name="Direction"></param>
 /// <param name="Status"></param>
 /// <param name="e"></param>
 /// <param name="Tag"></param>
 protected void ConnectionInfoSink(CpConnectionManager sender, System.Int32 ConnectionID, System.Int32 RcsID, System.Int32 AVTransportID, System.String ProtocolInfo, System.String PeerConnectionManager, System.Int32 PeerConnectionID, CpConnectionManager.Enum_A_ARG_TYPE_Direction Direction, CpConnectionManager.Enum_A_ARG_TYPE_ConnectionStatus Status, UPnPInvokeException e, object Tag)
 {
     if (e != null)
     {
         return;
     }
     MediaResource = ResourceBuilder.CreateResource(MediaResource.ContentUri, ProtocolInfo);
     if (OnMediaResourceChanged != null)
     {
         OnMediaResourceChanged(this, MediaResource);
     }
 }