internal override void NotifyListener(Entity source, V_EVENT triggerMask, DDS.OpenSplice.Common.EntityStatus status) { IDataWriterListener dwListener = listener as IDataWriterListener; if (dwListener != null) { DDS.OpenSplice.Common.WriterStatus writerStatus = status as DDS.OpenSplice.Common.WriterStatus; if ((triggerMask & V_EVENT.LIVELINESS_LOST) == V_EVENT.LIVELINESS_LOST) { dwListener.OnLivelinessLost(source as IDataWriter, writerStatus.LivelinessLost); } if ((triggerMask & V_EVENT.OFFERED_DEADLINE_MISSED) == V_EVENT.OFFERED_DEADLINE_MISSED) { dwListener.OnOfferedDeadlineMissed(source as IDataWriter, writerStatus.DeadlineMissed); } if ((triggerMask & V_EVENT.OFFERED_INCOMPATIBLE_QOS) == V_EVENT.OFFERED_INCOMPATIBLE_QOS) { dwListener.OnOfferedIncompatibleQos(source as IDataWriter, writerStatus.IncompatibleQos); } if ((triggerMask & V_EVENT.PUBLICATION_MATCHED) == V_EVENT.PUBLICATION_MATCHED) { dwListener.OnPublicationMatched(source as IDataWriter, writerStatus.PublicationMatch); } } }
private void PrivateOfferedIncompatibleQos( IntPtr entityData, IntPtr writerPtr, IntPtr gapi_status) { if (listener != null) { IDataWriter dataWriter = (IDataWriter)OpenSplice.SacsSuperClass.fromUserData(writerPtr); OfferedIncompatibleQosStatus status = new OfferedIncompatibleQosStatus(); OfferedIncompatibleQosStatusMarshaler.CopyOut(gapi_status, ref status, 0); listener.OnOfferedIncompatibleQos(dataWriter, status); } }