/// <summary>
        /// Set the transport callback. It receives advisories when a transport
        /// disconnects or reconnects. Passing NULL removes the callback.
        /// </summary>
        /// <param name="callback"></param>
        public void setTransportCallback(MamaTransportCallback callback)
        {
            EnsurePeerCreated();
            if (callback == null)
            {
                mCallbackForwarder = null;
                mCallback          = null;
            }
            else
            {
                mCallbackForwarder = new CallbackForwarder(this, callback);
                mCallback          = new CallbackForwarder.TransportCallbackDelegate(mCallbackForwarder.OnTransportCallback);
            }
            int code = NativeMethods.mamaTransport_setTransportCallback(nativeHandle, mCallback, nativeHandle);

            CheckResultCode(code);
            GC.KeepAlive(callback);
        }
Example #2
0
 /// <summary>
 /// Set the transport callback. It receives advisories when a transport
 /// disconnects or reconnects. Passing NULL removes the callback.
 /// </summary>
 /// <param name="callback"></param>
 public void setTransportCallback(MamaTransportCallback callback)
 {
     EnsurePeerCreated();
       if (callback == null)
       {
       mCallbackForwarder = null;
       mCallback = null;
       }
       else
       {
       mCallbackForwarder = new CallbackForwarder(this, callback);
       mCallback = new CallbackForwarder.TransportCallbackDelegate(mCallbackForwarder.OnTransportCallback);
       }
       int code = NativeMethods.mamaTransport_setTransportCallback(nativeHandle, mCallback, nativeHandle);
       CheckResultCode(code);
       GC.KeepAlive(callback);
 }
 public static extern int mamaTransport_setTransportCallback(IntPtr transport,
                                                             CallbackForwarder.TransportCallbackDelegate callback,
                                                             IntPtr closure);