コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
 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);
     }
 }