コード例 #1
0
        public void Set(DiagnosticArray other)
        {
            std_msgs.msg.HeaderPubSubType.Copy(other.header, header);


            if (other.status == null)
            {
                status = null;
            }
            else
            {
                status = new System.Collections.Generic.List <diagnostic_msgs.msg.DiagnosticStatus>(other.status.Count);
                for (int i1 = 0; i1 < other.status.Count; i1++)
                {
                    if (other.status[i1] == null)
                    {
                        status.Add(null);
                    }
                    else
                    {
                        diagnostic_msgs.msg.DiagnosticStatus newElement = diagnostic_msgs.msg.DiagnosticStatusPubSubType.Create();
                        diagnostic_msgs.msg.DiagnosticStatusPubSubType.Copy(other.status[i1], newElement);
                        status.Add(newElement);
                    }
                }
            }
        }
コード例 #2
0
 public override void deserialize(MemoryStream stream, diagnostic_msgs.msg.DiagnosticStatus data)
 {
     using (BinaryReader reader = new BinaryReader(stream))
     {
         Halodi.CDR.CDRDeserializer cdr = new Halodi.CDR.CDRDeserializer(reader);
         read(data, cdr);
     }
 }
コード例 #3
0
 public override void serialize(diagnostic_msgs.msg.DiagnosticStatus data, MemoryStream stream)
 {
     using (BinaryWriter writer = new BinaryWriter(stream))
     {
         Halodi.CDR.CDRSerializer cdr = new Halodi.CDR.CDRSerializer(writer);
         write(data, cdr);
     }
 }
コード例 #4
0
        public static void read(diagnostic_msgs.msg.DiagnosticArray data, Halodi.CDR.CDRDeserializer cdr)
        {
            data.header = std_msgs.msg.HeaderPubSubType.Create();
            std_msgs.msg.HeaderPubSubType.read(data.header, cdr);


            int status_length = cdr.read_type_2();

            data.status = new System.Collections.Generic.List <diagnostic_msgs.msg.DiagnosticStatus>(status_length);
            for (int i = 0; i < status_length; i++)
            {
                diagnostic_msgs.msg.DiagnosticStatus new_status = diagnostic_msgs.msg.DiagnosticStatusPubSubType.Create();
                diagnostic_msgs.msg.DiagnosticStatusPubSubType.read(new_status, cdr);
                data.status.Add(new_status);
            }
        }
コード例 #5
0
        public static void read(diagnostic_msgs.msg.DiagnosticStatus data, Halodi.CDR.CDRDeserializer cdr)
        {
            data.level = cdr.read_type_9();

            data.name        = cdr.read_type_d();
            data.message     = cdr.read_type_d();
            data.hardware_id = cdr.read_type_d();

            int values_length = cdr.read_type_2();

            data.values = new System.Collections.Generic.List <diagnostic_msgs.msg.KeyValue>(values_length);
            for (int i = 0; i < values_length; i++)
            {
                diagnostic_msgs.msg.KeyValue new_values = diagnostic_msgs.msg.KeyValuePubSubType.Create();
                diagnostic_msgs.msg.KeyValuePubSubType.read(new_values, cdr);
                data.values.Add(new_values);
            }
        }
コード例 #6
0
        public static int getCdrSerializedSize(diagnostic_msgs.msg.DiagnosticStatus data, int current_alignment)
        {
            int initial_alignment = current_alignment;

            current_alignment += 1 + Halodi.CDR.CDRCommon.alignment(current_alignment, 1);


            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.name.Length + 1;

            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.message.Length + 1;

            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.hardware_id.Length + 1;

            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4);
            for (int i0 = 0; i0 < data.values.Count; ++i0)
            {
                current_alignment += diagnostic_msgs.msg.KeyValuePubSubType.getCdrSerializedSize(data.values[i0], current_alignment);
            }


            return(current_alignment - initial_alignment);
        }
コード例 #7
0
        public static void write(diagnostic_msgs.msg.DiagnosticStatus data, Halodi.CDR.CDRSerializer cdr)
        {
            cdr.write_type_9(data.level);

            cdr.write_type_d(data.name);

            cdr.write_type_d(data.message);

            cdr.write_type_d(data.hardware_id);

            if (data.values == null)
            {
                cdr.write_type_2(0);
            }
            else
            {
                int values_length = data.values.Count;
                cdr.write_type_2(values_length);
                for (int i0 = 0; i0 < values_length; i0++)
                {
                    diagnostic_msgs.msg.KeyValuePubSubType.write(data.values[i0], cdr);
                }
            }
        }
コード例 #8
0
 public static int getCdrSerializedSize(diagnostic_msgs.msg.DiagnosticStatus data)
 {
     return(getCdrSerializedSize(data, 0));
 }
コード例 #9
0
 public static void Copy(diagnostic_msgs.msg.DiagnosticStatus src, diagnostic_msgs.msg.DiagnosticStatus target)
 {
     target.Set(src);
 }