00001 #include "cmdl/cmdargs.h" 00002 #include "is/info.h" 00003 #include "is/infoany.h" 00004 //#include "is/isinfotmpl.h" 00005 //#include "mrs/message.h" 00006 #include <string> 00007 #include <stdio.h> 00008 00009 class TestInfo1: public ISInfo{ 00010 public: 00011 char c; // Char 00012 unsigned char uc; // UChar 00013 int i; // Int 00014 unsigned int ui; // UInt 00015 short s; // Short 00016 unsigned short us; // UShort 00017 long l; // Long 00018 unsigned long ul; // ULong 00019 float f; // Float 00020 double d; // Double 00021 /* 00022 char * str; // String (dynamic) 00023 char cstr[128]; // String (constant) 00024 unsigned char * ustr; // UString (dynamic) 00025 unsigned char custr[128]; // UString (constant) 00026 */ 00027 00028 TestInfo1() { 00029 /* 00030 str = new char[128*sizeof(char)]; 00031 ustr = new unsigned char[128*sizeof(unsigned char)]; 00032 str[0] = 0; 00033 ustr[0] = 0; 00034 00035 */ 00036 } 00037 ~TestInfo1() { 00038 // delete[] str; 00039 // delete[] ustr; 00040 } 00041 void publishGuts(ISostream& ostrm){ 00042 ostrm << c << uc << i << ui << s << us << l << ul 00043 << f << d;// << str << cstr << ustr << custr; 00044 } 00045 void refreshGuts(ISistream& istrm){ 00046 // delete[] str; 00047 00048 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00049 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00050 } 00051 }; 00052 00053 class TestInfo2: public ISInfo{ 00054 public: 00055 char c; // Char 00056 unsigned char uc; // UChar 00057 int i; // Int 00058 unsigned int ui; // UInt 00059 short s; // Short 00060 unsigned short us; // UShort 00061 long l; // Long 00062 unsigned long ul; // ULong 00063 float f; // Float 00064 double d; // Double 00065 /* 00066 char * str; // String (dynamic) 00067 char cstr[128]; // String (constant) 00068 unsigned char * ustr; // UString (dynamic) 00069 unsigned char custr[128]; // UString (constant) 00070 */ 00071 00072 TestInfo2() { 00073 /* str = new char[128*sizeof(char)]; 00074 ustr = new unsigned char[128*sizeof(unsigned char)]; 00075 str[0] = 0; 00076 ustr[0] = 0; 00077 */ } 00078 ~TestInfo2() { 00079 // delete[] str; 00080 // delete[] ustr; 00081 } 00082 void publishGuts(ISostream& ostrm){ 00083 ostrm << c << uc << i << ui << s << us << l << ul 00084 << f << d ; // << str << cstr << ustr << custr; 00085 } 00086 void refreshGuts(ISistream& istrm){ 00087 // delete[] str; 00088 00089 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00090 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00091 } 00092 }; 00093 00094 class TestInfo3: public ISInfo{ 00095 public: 00096 char c; // Char 00097 unsigned char uc; // UChar 00098 int i; // Int 00099 unsigned int ui; // UInt 00100 short s; // Short 00101 unsigned short us; // UShort 00102 long l; // Long 00103 unsigned long ul; // ULong 00104 float f; // Float 00105 double d; // Double 00106 /* char * str; // String (dynamic) 00107 char cstr[128]; // String (constant) 00108 unsigned char * ustr; // UString (dynamic) 00109 unsigned char custr[128]; // UString (constant) 00110 */ 00111 00112 TestInfo3() { 00113 /* str = new char[128*sizeof(char)]; 00114 ustr = new unsigned char[128*sizeof(unsigned char)]; 00115 str[0] = 0; 00116 ustr[0] = 0; 00117 */ } 00118 ~TestInfo3() { 00119 // delete[] str; 00120 // delete[] ustr; 00121 } 00122 void publishGuts(ISostream& ostrm){ 00123 ostrm << c << uc << i << ui << s << us << l << ul 00124 << f << d ; // << str << cstr << ustr << custr; 00125 } 00126 void refreshGuts(ISistream& istrm){ 00127 // delete[] str; 00128 00129 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00130 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00131 } 00132 }; 00133 class TestInfo4: public ISInfo{ 00134 public: 00135 char c; // Char 00136 unsigned char uc; // UChar 00137 int i; // Int 00138 unsigned int ui; // UInt 00139 short s; // Short 00140 unsigned short us; // UShort 00141 long l; // Long 00142 unsigned long ul; // ULong 00143 float f; // Float 00144 double d; // Double 00145 /* char * str; // String (dynamic) 00146 char cstr[128]; // String (constant) 00147 unsigned char * ustr; // UString (dynamic) 00148 unsigned char custr[128]; // UString (constant) 00149 */ 00150 00151 TestInfo4() { 00152 /* str = new char[128*sizeof(char)]; 00153 ustr = new unsigned char[128*sizeof(unsigned char)]; 00154 str[0] = 0; 00155 ustr[0] = 0; 00156 */ } 00157 ~TestInfo4() { 00158 // delete[] str; 00159 // delete[] ustr; 00160 } 00161 void publishGuts(ISostream& ostrm){ 00162 ostrm << c << uc << i << ui << s << us << l << ul 00163 << f << d ; // << str << cstr << ustr << custr; 00164 } 00165 void refreshGuts(ISistream& istrm){ 00166 // delete[] str; 00167 00168 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00169 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00170 } 00171 }; 00172 class TestInfo5: public ISInfo{ 00173 public: 00174 char c; // Char 00175 unsigned char uc; // UChar 00176 int i; // Int 00177 unsigned int ui; // UInt 00178 short s; // Short 00179 unsigned short us; // UShort 00180 long l; // Long 00181 unsigned long ul; // ULong 00182 float f; // Float 00183 double d; // Double 00184 /* char * str; // String (dynamic) 00185 char cstr[128]; // String (constant) 00186 unsigned char * ustr; // UString (dynamic) 00187 unsigned char custr[128]; // UString (constant) 00188 */ 00189 00190 TestInfo5() { 00191 /* str = new char[128*sizeof(char)]; 00192 ustr = new unsigned char[128*sizeof(unsigned char)]; 00193 str[0] = 0; 00194 ustr[0] = 0; 00195 */ } 00196 ~TestInfo5() { 00197 // delete[] str; 00198 // delete[] ustr; 00199 } 00200 void publishGuts(ISostream& ostrm){ 00201 ostrm << c << uc << i << ui << s << us << l << ul 00202 << f << d ; // << str << cstr << ustr << custr; 00203 } 00204 void refreshGuts(ISistream& istrm){ 00205 // delete[] str; 00206 00207 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00208 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00209 } 00210 }; 00211 class TestInfo6: public ISInfo{ 00212 public: 00213 char c; // Char 00214 unsigned char uc; // UChar 00215 int i; // Int 00216 unsigned int ui; // UInt 00217 short s; // Short 00218 unsigned short us; // UShort 00219 long l; // Long 00220 unsigned long ul; // ULong 00221 float f; // Float 00222 double d; // Double 00223 /* char * str; // String (dynamic) 00224 char cstr[128]; // String (constant) 00225 unsigned char * ustr; // UString (dynamic) 00226 unsigned char custr[128]; // UString (constant) 00227 */ 00228 00229 TestInfo6() { 00230 /* str = new char[128*sizeof(char)]; 00231 ustr = new unsigned char[128*sizeof(unsigned char)]; 00232 str[0] = 0; 00233 ustr[0] = 0; 00234 */ } 00235 ~TestInfo6() { 00236 // delete[] str; 00237 // delete[] ustr; 00238 } 00239 void publishGuts(ISostream& ostrm){ 00240 ostrm << c << uc << i << ui << s << us << l << ul 00241 << f << d ; // << str << cstr << ustr << custr; 00242 } 00243 void refreshGuts(ISistream& istrm){ 00244 // delete[] str; 00245 00246 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00247 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00248 } 00249 }; 00250 class TestInfo7: public ISInfo{ 00251 public: 00252 char c; // Char 00253 unsigned char uc; // UChar 00254 int i; // Int 00255 unsigned int ui; // UInt 00256 short s; // Short 00257 unsigned short us; // UShort 00258 long l; // Long 00259 unsigned long ul; // ULong 00260 float f; // Float 00261 double d; // Double 00262 /* char * str; // String (dynamic) 00263 char cstr[128]; // String (constant) 00264 unsigned char * ustr; // UString (dynamic) 00265 unsigned char custr[128]; // UString (constant) 00266 */ 00267 00268 TestInfo7() { 00269 /* str = new char[128*sizeof(char)]; 00270 ustr = new unsigned char[128*sizeof(unsigned char)]; 00271 str[0] = 0; 00272 ustr[0] = 0; 00273 */ } 00274 ~TestInfo7() { 00275 // delete[] str; 00276 // delete[] ustr; 00277 } 00278 void publishGuts(ISostream& ostrm){ 00279 ostrm << c << uc << i << ui << s << us << l << ul 00280 << f << d ; // << str << cstr << ustr << custr; 00281 } 00282 void refreshGuts(ISistream& istrm){ 00283 // delete[] str; 00284 00285 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00286 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00287 } 00288 }; 00289 class TestInfo8: public ISInfo{ 00290 public: 00291 char c; // Char 00292 unsigned char uc; // UChar 00293 int i; // Int 00294 unsigned int ui; // UInt 00295 short s; // Short 00296 unsigned short us; // UShort 00297 long l; // Long 00298 unsigned long ul; // ULong 00299 float f; // Float 00300 double d; // Double 00301 /* char * str; // String (dynamic) 00302 char cstr[128]; // String (constant) 00303 unsigned char * ustr; // UString (dynamic) 00304 unsigned char custr[128]; // UString (constant) 00305 */ 00306 00307 TestInfo8() { 00308 /* str = new char[128*sizeof(char)]; 00309 ustr = new unsigned char[128*sizeof(unsigned char)]; 00310 str[0] = 0; 00311 ustr[0] = 0; 00312 */ } 00313 ~TestInfo8() { 00314 // delete[] str; 00315 // delete[] ustr; 00316 } 00317 void publishGuts(ISostream& ostrm){ 00318 ostrm << c << uc << i << ui << s << us << l << ul 00319 << f << d ; // << str << cstr << ustr << custr; 00320 } 00321 void refreshGuts(ISistream& istrm){ 00322 // delete[] str; 00323 00324 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00325 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00326 } 00327 }; 00328 class TestInfo9: public ISInfo{ 00329 public: 00330 char c; // Char 00331 unsigned char uc; // UChar 00332 int i; // Int 00333 unsigned int ui; // UInt 00334 short s; // Short 00335 unsigned short us; // UShort 00336 long l; // Long 00337 unsigned long ul; // ULong 00338 float f; // Float 00339 double d; // Double 00340 /* char * str; // String (dynamic) 00341 char cstr[128]; // String (constant) 00342 unsigned char * ustr; // UString (dynamic) 00343 unsigned char custr[128]; // UString (constant) 00344 */ 00345 00346 TestInfo9() { 00347 /* str = new char[128*sizeof(char)]; 00348 ustr = new unsigned char[128*sizeof(unsigned char)]; 00349 str[0] = 0; 00350 ustr[0] = 0; 00351 */ } 00352 ~TestInfo9() { 00353 // delete[] str; 00354 // delete[] ustr; 00355 } 00356 void publishGuts(ISostream& ostrm){ 00357 ostrm << c << uc << i << ui << s << us << l << ul 00358 << f << d ; // << str << cstr << ustr << custr; 00359 } 00360 void refreshGuts(ISistream& istrm){ 00361 // delete[] str; 00362 00363 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00364 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00365 } 00366 }; 00367 class TestInfo10: public ISInfo{ 00368 public: 00369 char c; // Char 00370 unsigned char uc; // UChar 00371 int i; // Int 00372 unsigned int ui; // UInt 00373 short s; // Short 00374 unsigned short us; // UShort 00375 long l; // Long 00376 unsigned long ul; // ULong 00377 float f; // Float 00378 double d; // Double 00379 /* char * str; // String (dynamic) 00380 char cstr[128]; // String (constant) 00381 unsigned char * ustr; // UString (dynamic) 00382 unsigned char custr[128]; // UString (constant) 00383 */ 00384 00385 TestInfo10() { 00386 /*str = new char[128*sizeof(char)]; 00387 ustr = new unsigned char[128*sizeof(unsigned char)]; 00388 str[0] = 0; 00389 ustr[0] = 0; 00390 */ 00391 } 00392 ~TestInfo10() { 00393 // delete[] str; 00394 // delete[] ustr; 00395 } 00396 void publishGuts(ISostream& ostrm){ 00397 ostrm << c << uc << i << ui << s << us << l << ul 00398 << f << d ; // << str << cstr << ustr << custr; 00399 } 00400 void refreshGuts(ISistream& istrm){ 00401 // delete[] str; 00402 00403 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00404 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00405 } 00406 }; 00407 class TestInfo11: public ISInfo{ 00408 public: 00409 char c; // Char 00410 unsigned char uc; // UChar 00411 int i; // Int 00412 unsigned int ui; // UInt 00413 short s; // Short 00414 unsigned short us; // UShort 00415 long l; // Long 00416 unsigned long ul; // ULong 00417 float f; // Float 00418 double d; // Double 00419 /* char * str; // String (dynamic) 00420 char cstr[128]; // String (constant) 00421 unsigned char * ustr; // UString (dynamic) 00422 unsigned char custr[128]; // UString (constant) 00423 */ 00424 00425 TestInfo11() { 00426 /* str = new char[128*sizeof(char)]; 00427 ustr = new unsigned char[128*sizeof(unsigned char)]; 00428 str[0] = 0; 00429 ustr[0] = 0; 00430 */ } 00431 ~TestInfo11() { 00432 // delete[] str; 00433 // delete[] ustr; 00434 } 00435 void publishGuts(ISostream& ostrm){ 00436 ostrm << c << uc << i << ui << s << us << l << ul 00437 << f << d ; // << str << cstr << ustr << custr; 00438 } 00439 void refreshGuts(ISistream& istrm){ 00440 // delete[] str; 00441 00442 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00443 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00444 } 00445 }; 00446 class TestInfo12: public ISInfo{ 00447 public: 00448 char c; // Char 00449 unsigned char uc; // UChar 00450 int i; // Int 00451 unsigned int ui; // UInt 00452 short s; // Short 00453 unsigned short us; // UShort 00454 long l; // Long 00455 unsigned long ul; // ULong 00456 float f; // Float 00457 double d; // Double 00458 00459 /* char * str; // String (dynamic) 00460 char cstr[128]; // String (constant) 00461 std::string ustr; 00462 std::string custr; 00463 */ 00464 /* 00465 unsigned char * ustr; // UString (dynamic) 00466 unsigned char custr[128]; // UString (constant) 00467 */ 00468 00469 TestInfo12() { 00470 // str = new string()char[128*sizeof(char)]; 00471 // ustr = new unsigned char[128*sizeof(unsigned char)]; 00472 // str[0] = 0; 00473 // ustr[0] = 0; 00474 } 00475 ~TestInfo12() { 00476 // delete[] str; 00477 // delete[] ustr; 00478 } 00479 void publishGuts(ISostream& ostrm){ 00480 ostrm << c << uc << i << ui << s << us << l << ul 00481 << f << d ; // << str << cstr << ustr << custr; 00482 } 00483 void refreshGuts(ISistream& istrm){ 00484 // delete[] str; 00485 00486 istrm >> c >> uc >> i >> ui >> s >> us >> l >> ul 00487 >> f >> d ; // >> str >> cstr >> ustr >> custr; 00488 } 00489 };