include/df/version.hpp

00001 #pragma pack(push,1)
00002 
00003 struct Version {
00004   uint8 Major;     //0-255 (Hope you never need that many!)
00005   uint8 Minor1;    //0-9
00006   uint8 Minor2;    //0-9
00007   uint8 Minor3;    //0-9
00008   uint32 Build;    //1-4billion
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 () {  //just assign to a string now!
00017     String tmpString;
00018     char tmp[24];   //###.###.###.### (#####)
00019     char tmp2[9];   // (#####)
00020     uint32 v1,v2, v3, v4;  //these need to be 32bit for printf
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 

Generated on Mon Mar 5 09:49:14 2007 for DigiForce by  doxygen 1.4.7