コード例 #1
0
ファイル: MamaTransport.cs プロジェクト: cmjthomas/OpenMAMA
        /// <summary>
        /// Set the transport topic callback. It receives advisories when
        /// subjects sub or unsub, or when publisher events occur.
        /// Passing NULL removes the callback.
        /// </summary>
        /// <param name="callback"></param>
        public void setTransportTopicCallback(MamaTransportTopicCallback callback)
        {
            EnsurePeerCreated();
            if (callback == null)
            {
                mTopicCallbackForwarder = null;
                mTopicCallback          = null;
            }
            else
            {
                mTopicCallbackForwarder = new TopicCallbackForwarder(this, callback);
                mTopicCallback          = new TopicCallbackForwarder.TransportTopicCallbackDelegate(mTopicCallbackForwarder.OnTransportTopicCallback);
            }
            int code = NativeMethods.mamaTransport_setTransportTopicCallback(nativeHandle, mTopicCallback, nativeHandle);

            CheckResultCode(code);
            GC.KeepAlive(callback);
        }
コード例 #2
0
ファイル: MamaTransport.cs プロジェクト: OpenMAMA/OpenMAMA
 public static extern int mamaTransport_setTransportTopicCallback(IntPtr transport,
     TopicCallbackForwarder.TransportTopicCallbackDelegate callback,
     IntPtr closure);
コード例 #3
0
ファイル: MamaTransport.cs プロジェクト: OpenMAMA/OpenMAMA
 /// <summary>
 /// Set the transport topic callback. It receives advisories when
 /// subjects sub or unsub, or when publisher events occur.
 /// Passing NULL removes the callback.
 /// </summary>
 /// <param name="callback"></param>
 public void setTransportTopicCallback(MamaTransportTopicCallback callback)
 {
     EnsurePeerCreated();
       if (callback == null)
       {
       mTopicCallbackForwarder = null;
       mTopicCallback = null;
       }
       else
       {
       mTopicCallbackForwarder = new TopicCallbackForwarder(this, callback);
       mTopicCallback = new TopicCallbackForwarder.TransportTopicCallbackDelegate(mTopicCallbackForwarder.OnTransportTopicCallback);
       }
       int code = NativeMethods.mamaTransport_setTransportTopicCallback(nativeHandle, mTopicCallback, nativeHandle);
       CheckResultCode(code);
       GC.KeepAlive(callback);
 }