internal static V_RESULT CopyOut(ref v_readerStatus from, DDS.OpenSplice.Common.ReaderStatus to)
        {
            to.State             = (uint)from._parent.state;
            to.LivelinessChanged = new LivelinessChangedStatus();
            to.SampleRejected    = new SampleRejectedStatus();
            to.SampleLost        = new SampleLostStatus();
            to.DeadlineMissed    = new RequestedDeadlineMissedStatus();
            to.IncompatibleQos   = new RequestedIncompatibleQosStatus();
            to.SubscriptionMatch = new SubscriptionMatchedStatus();

            LivelinessChangedStatusMarshaler.CopyOut(ref from.livelinessChanged, to.LivelinessChanged);
            SampleRejectedStatusMarshaler.CopyOut(ref from.sampleRejected, to.SampleRejected);
            SampleLostStatusMarshaler.CopyOut(ref from.sampleLost, to.SampleLost);
            RequestedDeadlineMissedStatusMarshaler.CopyOut(ref from.deadlineMissed, to.DeadlineMissed);
            RequestedIncompatibleQosStatusMarshaler.CopyOut(ref from.incompatibleQos, to.IncompatibleQos);
            SubscriptionMatchedStatusMarshaler.CopyOut(ref from.subscriptionMatch, to.SubscriptionMatch);
            return(V_RESULT.OK);
        }
Example #2
0
        public ReturnCode GetRequestedIncompatibleQosStatus(
                ref RequestedIncompatibleQosStatus status)
        {
            ReturnCode result;

            using (RequestedIncompatibleQosStatusMarshaler marshaler =
                    new RequestedIncompatibleQosStatusMarshaler())
            {
                if (status == null) status = new RequestedIncompatibleQosStatus();
                if (status.Policies == null) status.Policies = new QosPolicyCount[28];
                marshaler.CopyIn(status);

                result = Gapi.DataReader.get_requested_incompatible_qos_status(
                        GapiPeer, marshaler.GapiPtr);

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

            return result;
        }