/**
  * Copy and cleanup functions.
  **/
 internal override DDS.ReturnCode CopyIn(DomainParticipantQos from, ref v_participantQos to)
 {
     DDS.ReturnCode result;
     if (from != null)
     {
         to._parent      = new v_qos();
         to._parent.kind = V_QOSKIND.V_PARTICIPANT_QOS;
         result          = UserDataQosPolicyMarshaler.CopyIn(from.UserData, ref to.userData);
         if (result == DDS.ReturnCode.Ok)
         {
             result = EntityFactoryQosPolicyMarshaler.CopyIn(
                 from.EntityFactory, ref to.entityFactory);
         }
         if (result == DDS.ReturnCode.Ok)
         {
             result = SchedulingQosPolicyMarshaler.CopyIn(
                 from.WatchdogScheduling, ref to.watchdogScheduling);
         }
     }
     else
     {
         result = DDS.ReturnCode.BadParameter;
         ReportStack.Report(result, "DomainParticipantQos attribute may not be a null pointer.");
     }
     return(result);
 }
 internal override void CopyOut(v_participantQos from, ref DomainParticipantQos to)
 {
     UserDataQosPolicyMarshaler.CopyOut(from.userData, ref to.UserData);
     EntityFactoryQosPolicyMarshaler.CopyOut(from.entityFactory, ref to.EntityFactory);
     SchedulingQosPolicyMarshaler.CopyOut(from.watchdogScheduling, ref to.WatchdogScheduling);
 }
 internal override void CleanupIn(ref v_participantQos to)
 {
     UserDataQosPolicyMarshaler.CleanupIn(ref to.userData);
     EntityFactoryQosPolicyMarshaler.CleanupIn(ref to.entityFactory);
     SchedulingQosPolicyMarshaler.CleanupIn(ref to.watchdogScheduling);
 }