internal static V_RESULT CopyOut(ref v_writerStatus from, DDS.OpenSplice.Common.WriterStatus to)
        {
            to.State            = (uint)from._parent.state;
            to.LivelinessLost   = new LivelinessLostStatus();
            to.DeadlineMissed   = new OfferedDeadlineMissedStatus();
            to.IncompatibleQos  = new OfferedIncompatibleQosStatus();
            to.PublicationMatch = new PublicationMatchedStatus();

            LivelinessLostStatusMarshaler.CopyOut(ref from.livelinessLost, to.LivelinessLost);
            OfferedDeadlineMissedStatusMarshaler.CopyOut(ref from.deadlineMissed, to.DeadlineMissed);
            OfferedIncompatibleQosStatusMarshaler.CopyOut(ref from.incompatibleQos, to.IncompatibleQos);
            PublicationMatchedStatusMarshaler.CopyOut(ref from.publicationMatch, to.PublicationMatch);
            return(V_RESULT.OK);
        }
示例#2
0
        public ReturnCode GetOfferedIncompatibleQosStatus(
                ref OfferedIncompatibleQosStatus status)
        {
            ReturnCode result;

            using (OfferedIncompatibleQosStatusMarshaler marshaler = 
                    new OfferedIncompatibleQosStatusMarshaler())
            {
                if (status == null) status = new OfferedIncompatibleQosStatus();
                if (status.Policies == null) status.Policies = new QosPolicyCount[28];
                marshaler.CopyIn(status);
                
                result = Gapi.DataWriter.get_offered_incompatible_qos_status(
                        GapiPeer, marshaler.GapiPtr);

                if (result == ReturnCode.Ok)
                {
                    marshaler.CopyOut(ref status);
                }
            }

            return result;
        }