1 #include "message.hxx"
\r
3 void dumpmessage(string msg)
\r
12 unsigned char mid8, uval8;
\r
13 unsigned int mid16, uval16;
\r
14 unsigned long uval32;
\r
15 unsigned long long uval64;
\r
24 for (int i=0; i<16; i++) printf("%02x ", buf.peek(i));
\r
27 int tag = buf.get(true);
\r
30 mid8 = *(unsigned char *)buf.read1();
\r
31 printf("Start Message ID = %02x\n", mid8);
\r
34 mid16 = *(unsigned int *)buf.read2();
\r
35 printf("Start Message ID = %04x\n", mid16);
\r
38 printf("End Of Message\n", tag);
\r
42 uval8 = *(unsigned char *)buf.read1();
\r
43 printf("uchar = %02x\n", uval8);
\r
46 uval16 = *(unsigned int *)buf.read2();
\r
47 printf("uint = %04x\n", uval16);
\r
50 uval32 = *(unsigned long *)buf.read4();
\r
51 printf("ulong = %08lx\n", uval32);
\r
53 case fgmps_ulonglong:
\r
54 uval64 = *(unsigned long long *)buf.read8();
\r
55 printf("ulonglong = %16llx\n", uval64);
\r
58 val8 = *(char *)buf.read1();
\r
59 printf("char = %02x\n", val8);
\r
62 val16 = *(int *)buf.read2();
\r
63 printf("int = %04x\n", val16);
\r
66 val32 = *(long *)buf.read4();
\r
67 printf("long = %08lx\n", val32);
\r
69 case fgmps_longlong:
\r
70 val64 = *(long long *)buf.read8();
\r
71 printf("longlong = %16llx\n", val64);
\r
75 printf("float = %f\n", valf);
\r
79 printf("double = %g\n", vald);
\r
83 vals = buf.reads(uval8);
\r
84 printf("string = %s\n", vals.c_str());
\r
87 printf("Unknown prefix = %02x\n", tag);
\r
91 } catch (FGMPSDataException e) {
\r
92 printf("Data Exception\n");
\r
98 main(int argc, char **argv)
\r
100 FGMPSMessageBuf buf;
\r
102 unsigned char uval8;
\r
103 unsigned int uval16;
\r
104 unsigned long uval32;
\r
105 unsigned long long uval64;
\r
115 buf.put(fgmps_som8, true);
\r
117 for (int i=0; i<256; i++) {
\r
118 buf.put(fgmps_uchar, true);
\r
121 buf.put(fgmps_eom, true);
\r
122 dumpmessage(buf.str());
\r
125 buf.put(fgmps_som8, true); buf.put(1);
\r
127 uval8 = 251; buf.put(fgmps_uchar, true); buf.write1(&uval8);
\r
128 uval16 = 34567; buf.put(fgmps_uint, true); buf.write2(&uval16);
\r
129 uval32 = 1345678901; buf.put(fgmps_ulong, true); buf.write4(&uval32);
\r
130 //uval64 = 9999999999; buf.put(fgmps_ulonglong, true); buf.write8(&uval64);
\r
131 val8 = -120; buf.put(fgmps_char, true); buf.write1(&val8);
\r
132 val16 = -17890; buf.put(fgmps_int, true); buf.write2(&val16);
\r
133 val32 = -1345678901; buf.put(fgmps_long, true); buf.write4(&val32);
\r
134 //val64 = -9999999999; buf.put(fgmps_longlong, true); buf.write8(&val64);
\r
135 valf = 2 * 3.14; buf.put(fgmps_float, true); buf.writef(valf);
\r
136 vald = 3 * 3.1415927; buf.put(fgmps_double, true); buf.writed(vald);
\r
137 vals = "hi there"; buf.put(fgmps_string, true); buf.writes(vals);
\r
138 buf.put(fgmps_eom, true);
\r
139 dumpmessage(buf.str());
\r