public ReturnCode CopyFromTopicQos(ref DataWriterQos dataWriterQos, TopicQos topicQos) { ReturnCode result = ReturnCode.Ok; if (dataWriterQos == null) { result = GetDefaultDataWriterQos(ref dataWriterQos); } if (result == ReturnCode.Ok) { using (OpenSplice.CustomMarshalers.TopicQosMarshaler marshaler = new OpenSplice.CustomMarshalers.TopicQosMarshaler()) { result = marshaler.CopyIn(topicQos); if (result == ReturnCode.Ok) { using (OpenSplice.CustomMarshalers.DataWriterQosMarshaler dataWriterMarshaler = new OpenSplice.CustomMarshalers.DataWriterQosMarshaler()) { result = dataWriterMarshaler.CopyIn(dataWriterQos); if (result == ReturnCode.Ok) { result = Gapi.Publisher.copy_from_topic_qos( GapiPeer, dataWriterMarshaler.GapiPtr, marshaler.GapiPtr); if (result == ReturnCode.Ok) { dataWriterMarshaler.CopyOut(ref dataWriterQos); } } } } } } return result; }
public ReturnCode GetDefaultDataWriterQos(ref DataWriterQos qos) { ReturnCode result; using (OpenSplice.CustomMarshalers.DataWriterQosMarshaler marshaler = new OpenSplice.CustomMarshalers.DataWriterQosMarshaler()) { result = Gapi.Publisher.get_default_datawriter_qos( GapiPeer, marshaler.GapiPtr); if (result == ReturnCode.Ok) { marshaler.CopyOut(ref qos); } } return result; }