00001 #pragma pack(push,1)
00002
00003 struct Version {
00004 uint8 Major;
00005 uint8 Minor1;
00006 uint8 Minor2;
00007 uint8 Minor3;
00008 uint32 Build;
00009 Version(uint8 v1 = 1, uint8 v2 = 0, uint8 v3 = 0, uint8 v4 = 0, uint32 b = 1) {
00010 Major = v1;
00011 Minor1 = v2;
00012 Minor2 = v3;
00013 Minor3 = v4;
00014 Build = b;
00015 }
00016 operator String () {
00017 String tmpString;
00018 char tmp[24];
00019 char tmp2[9];
00020 uint32 v1,v2, v3, v4;
00021 v1 = Major;
00022 v2 = Minor1;
00023 v3 = Minor2;
00024 v4 = Minor3;
00025 SystemCode::sprintf(tmp, "%u.%u", v1, v2);
00026 if ((Minor2) || (Minor3)) {
00027 SystemCode::sprintf(tmp2, ".%u", v3);
00028 SystemCode::strcat(tmp, tmp2);
00029 }
00030 if (Minor3) {
00031 SystemCode::sprintf(tmp2, ".%u", v4);
00032 SystemCode::strcat(tmp, tmp2);
00033 }
00034 if (Build) {
00035 SystemCode::sprintf(tmp2, " (%u)", Build);
00036 SystemCode::strcat(tmp, tmp2);
00037 }
00038 tmpString = tmp;
00039 return tmpString;
00040 }
00041 };
00042
00043 #pragma pack(pop)
00044