public ReturnCode SetListener(ITopicListener listener, StatusKind mask) { ReturnCode result = ReturnCode.Error; Gapi.gapi_topicListener gapiListener; listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); if (listener != null) { lock (listener) { using (TopicListenerMarshaler marshaler = new TopicListenerMarshaler(ref gapiListener)) { result = Gapi.Topic.set_listener( GapiPeer, marshaler.GapiPtr, mask); } } } else { result = Gapi.Topic.set_listener( GapiPeer, IntPtr.Zero, mask); } return result; }
internal override ReturnCode wlReq_deinit() { ReturnCode result = DDS.ReturnCode.Ok; if (nrUsers > 0) { result = DDS.ReturnCode.PreconditionNotMet; ReportStack.Report(result, "Topic \"" + topicName + "\" still in use by " + nrUsers + " Writers/Readers."); } else { ITopicListener tpListener = listener as ITopicListener; if (tpListener != null) { this.SetListener(tpListener, (DDS.StatusKind) 0); } this.DisableCallbacks(); result = base.wlReq_deinit(); if (result == DDS.ReturnCode.Ok) { this.domainParticipant = null; this.topicName = null; this.typeName = null; this.typeSupport = null; this.topicExpression = null; } } return(result); }
public ReturnCode SetListener(ITopicListener listener, StatusKind mask) { ReturnCode result = ReturnCode.Error; Gapi.gapi_topicListener gapiListener; listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); if (listener != null) { lock (listener) { using (TopicListenerMarshaler marshaler = new TopicListenerMarshaler(ref gapiListener)) { result = Gapi.Topic.set_listener( GapiPeer, marshaler.GapiPtr, mask); } } } else { result = Gapi.Topic.set_listener( GapiPeer, IntPtr.Zero, mask); } return(result); }
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; }
public ReturnCode SetListener(ITopicListener listener, StatusKind mask) { ReturnCode result = DDS.ReturnCode.AlreadyDeleted; ReportStack.Start(); lock (this) { if (this.rlReq_isAlive) { result = wlReq_SetListener(listener, mask); } } ReportStack.Flush(this, result != ReturnCode.Ok); return(result); }
/// <summary> /// Controller. Fetches injected instances and starts kafka worker thread. /// </summary> /// <param name="topicListener">A <see cref="ITopicListener"/>, which will process messages from the listened topic.</param> /// <param name="diffRepository">A <see cref="IDiffRepository"/>, used to store the generated <see cref="DiffRecord"/>.</param> public DiffController( ITopicListener topicListener, IDiffRepository diffRepository) : base("v1/diff") { _topicListener = topicListener; _diffRepository = diffRepository; Get("{id}", args => { Guid id = args.id; return(Response.AsJson(GetDiff(id).Body, GetDiff(id).StatusCode)); }); StartWorker(); }
internal override void NotifyListener(Entity source, V_EVENT triggerMask, DDS.OpenSplice.Common.EntityStatus status) { ITopicListener tpListener = listener as ITopicListener; if (tpListener != null) { DDS.OpenSplice.Common.TopicStatus topicStatus = status as DDS.OpenSplice.Common.TopicStatus; if ((triggerMask & V_EVENT.INCONSISTENT_TOPIC) == V_EVENT.INCONSISTENT_TOPIC) { tpListener.OnInconsistentTopic(source as ITopic, topicStatus.InconsistentTopic); } /*if ((triggerMask & V_EVENT.ALL_DATA_DISPOSED) == V_EVENT.ALL_DATA_DISPOSED) * { * IDomainParticipantListener dpExtListener = listener as IExtDomainParticipantListener; * Debug.Assert(dpExtListener != null); * dpExtListener.OnAllDataDisposed(source as ITopic); * }*/ } }
public ITopic CreateTopic(string topicName, string typeName, TopicQos qos, ITopicListener listener, StatusKind mask) { return(realParticipant.CreateTopic(topicName, typeName, qos, listener, mask)); }
public ITopic CreateTopic(string topicName, string typeName, TopicQos qos, ITopicListener listener, StatusKind mask) { return realParticipant.CreateTopic(topicName, typeName, qos, listener, mask); }
public ITopic CreateTopic( string topicName, string typeName, TopicQos qos, ITopicListener listener, StatusKind mask) { ITopic topic = null; using (OpenSplice.CustomMarshalers.TopicQosMarshaler marshaler = new OpenSplice.CustomMarshalers.TopicQosMarshaler()) { if (marshaler.CopyIn(qos) == ReturnCode.Ok) { if (listener != null) { OpenSplice.Gapi.gapi_topicListener gapiListener; TopicListenerHelper listenerHelper = new TopicListenerHelper(); listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); using (TopicListenerMarshaler listenerMarshaler = new TopicListenerMarshaler(ref gapiListener)) { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, marshaler.GapiPtr, listenerMarshaler.GapiPtr, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr, listenerHelper); } } } else { // Invoke the corresponding gapi function. IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, marshaler.GapiPtr, IntPtr.Zero, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr); } } } } if (topic != null) { DomainParticipantQos dpQos = null; ReturnCode result = GetQos(ref dpQos); if (result == ReturnCode.Ok) { if (dpQos.EntityFactory.AutoenableCreatedEntities) { topic.Enable(); } } } return topic; }
public ITopic CreateTopic( string topicName, string typeName, ITopicListener listener, StatusKind mask) { ITopic topic = null; if (listener != null) { OpenSplice.Gapi.gapi_topicListener gapiListener; TopicListenerHelper listenerHelper = new TopicListenerHelper(); listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); using (TopicListenerMarshaler listenerMarshaler = new TopicListenerMarshaler(ref gapiListener)) { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, Gapi.NativeConstants.GapiTopicQosDefault, listenerMarshaler.GapiPtr, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr, listenerHelper); } } } else { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, Gapi.NativeConstants.GapiTopicQosDefault, IntPtr.Zero, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr); } } if (topic != null) { DomainParticipantQos dpQos = null; ReturnCode result = GetQos(ref dpQos); if (result == ReturnCode.Ok) { if (dpQos.EntityFactory.AutoenableCreatedEntities) { topic.Enable(); } } } return topic; }
public ITopic CreateTopic( string topicName, string typeName, TopicQos qos, ITopicListener listener, StatusKind mask) { ITopic topic = null; using (OpenSplice.CustomMarshalers.TopicQosMarshaler marshaler = new OpenSplice.CustomMarshalers.TopicQosMarshaler()) { if (marshaler.CopyIn(qos) == ReturnCode.Ok) { if (listener != null) { OpenSplice.Gapi.gapi_topicListener gapiListener; TopicListenerHelper listenerHelper = new TopicListenerHelper(); listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); using (TopicListenerMarshaler listenerMarshaler = new TopicListenerMarshaler(ref gapiListener)) { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, marshaler.GapiPtr, listenerMarshaler.GapiPtr, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr, listenerHelper); } } } else { // Invoke the corresponding gapi function. IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, marshaler.GapiPtr, IntPtr.Zero, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr); } } } } if (topic != null) { DomainParticipantQos dpQos = null; ReturnCode result = GetQos(ref dpQos); if (result == ReturnCode.Ok) { if (dpQos.EntityFactory.AutoenableCreatedEntities) { topic.Enable(); } } } return(topic); }
public ITopic CreateTopic( string topicName, string typeName, ITopicListener listener, StatusKind mask) { ITopic topic = null; if (listener != null) { OpenSplice.Gapi.gapi_topicListener gapiListener; TopicListenerHelper listenerHelper = new TopicListenerHelper(); listenerHelper.Listener = listener; listenerHelper.CreateListener(out gapiListener); using (TopicListenerMarshaler listenerMarshaler = new TopicListenerMarshaler(ref gapiListener)) { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, Gapi.NativeConstants.GapiTopicQosDefault, listenerMarshaler.GapiPtr, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr, listenerHelper); } } } else { IntPtr gapiPtr = Gapi.DomainParticipant.create_topic( GapiPeer, topicName, typeName, Gapi.NativeConstants.GapiTopicQosDefault, IntPtr.Zero, mask); if (gapiPtr != IntPtr.Zero) { topic = new Topic(gapiPtr); } } if (topic != null) { DomainParticipantQos dpQos = null; ReturnCode result = GetQos(ref dpQos); if (result == ReturnCode.Ok) { if (dpQos.EntityFactory.AutoenableCreatedEntities) { topic.Enable(); } } } return(topic); }