internal void CreateListener(out OpenSplice.Gapi.gapi_topicListener listener) { onInconsistentTopicDelegate = Topic_PrivateOnInconsistentTopic; listener = new DDS.OpenSplice.Gapi.gapi_topicListener(); listener.listener_data = IntPtr.Zero; listener.on_inconsistent_topic = onInconsistentTopicDelegate; }
internal static void CopyIn(ref OpenSplice.Gapi.gapi_topicListener from, IntPtr to, int offset) { // Set listener_data field // Marshal.WriteIntPtr(to, offset + offset_listener_data, from.listener_data); BaseMarshaler.Write(to, offset + offset_listener_data, IntPtr.Zero); // Set on_inconsistent_topic field BaseMarshaler.Write(to, offset + offset_on_inconsistent_topic, MarshalHelper.GetIntPtrForDelegate(from.on_inconsistent_topic)); }
public TopicListenerMarshaler(ref OpenSplice.Gapi.gapi_topicListener listener) : this() { CopyIn(ref listener, GapiPtr, 0); cleanupRequired = true; }