gcalendar.h

Go to the documentation of this file.
00001 #ifndef gCALENDAR_X_H
00002 #define gCALENDAR_X_H
00003 
00004 #include <time.h>  //gmtime/localtime, mktime, (struct tm) ...
00005 #include "gstorage.h"
00006 ////////////////////////////////////////////////////////////
00007 class gDateTime : public gStorage {
00008 public:
00009     enum eKindTime {
00010         e_Now
00011     };
00012 
00013     gDateTime (t_stamp aStamp=0) ;
00014     gDateTime (int iYear, int iMonth, int iDay,
00015                t_uint8 uHour=0, t_uint8 uMin=0, t_uint8 uSec=0) ;
00016     gDateTime (eKindTime aKind) ;
00017     virtual ~gDateTime ();
00018 
00019     // Public data-members
00020     int lastOpError;
00021     t_int16 year;
00022     t_uint8 month;
00023     t_uint8 day;
00024     t_uint8 hour, minu, sec;
00025     t_uint8 wday;  //day of the week (0=sunday)
00026     t_uint16 yday; //day of the year
00027     t_int8 isdst;  //daylight saving time (-1 on error)
00028     static int minimumYear;
00029 
00030     // Get methods
00031     virtual bool IsOk () ;
00032     virtual char* StorageName () ;
00033 
00034     // Set methods
00035     virtual void Reset () ;
00036     virtual int SetError (int opError) ;
00037 
00038     // Specific methods
00039     virtual t_stamp GetTimeStamp () ;
00040     virtual bool SetTimeStamp (t_stamp aStamp) ;
00041     t_uint8 DaysOfMonth (int aYear, t_uint8 aMonth) ;
00042     // .
00043 
00044     // Save/etc methods
00045     virtual gStorage* NewObject () ;
00046     virtual t_uchar* ToString (t_uchar* uBuf) ;
00047     virtual bool SaveGuts (FILE* f) ;
00048     virtual bool RestoreGuts (FILE* f) ;
00049 
00050 protected:
00051     static const t_uint8 tblCalDurMonth[13];
00052 
00053     // Protected methods
00054     int thisCalCheck () ;
00055     int thisDateTimeCheck (gDateTime& aDtTm, int minYear) ;
00056     int thisDateCheck (int aYear, t_uint8 aMonth, t_uint8 aDay, int minYear) ;
00057     int thisTimeCheck (t_uint8 aHour, t_uint8 aMin, t_uint8 aSec) ;
00058 
00059     int thisConvertFromStamp (t_stamp aStamp) ;
00060     int thisConvertToStamp (gDateTime& aDtTm, t_stamp& aStamp) ;
00061     int thisConvertTo_libc_tm (gDateTime& aDtTm, struct tm* pTM) ;
00062 
00063 private:
00064     // Operators,empty
00065     gDateTime (gDateTime& ) ; //empty
00066     gDateTime& operator= (gDateTime& ) ; //empty
00067 };
00068 ////////////////////////////////////////////////////////////
00069 class gTimeStamp : public gUInt {
00070 public:
00071     gTimeStamp (t_stamp aStamp=0) ;
00072     gTimeStamp (gDateTime& aDtTm) ;
00073     virtual ~gTimeStamp () ;
00074 
00075     // Public data-members
00076     short iValid;
00077 
00078     // Get methods
00079     virtual bool IsOk () ;
00080     // .
00081 
00082     // Set methods
00083     bool SetStamp (t_stamp aStamp) ;
00084     virtual bool SetUInt (unsigned v) ;
00085 
00086 private:
00087     // Operators,empty
00088     gTimeStamp (gTimeStamp& ) ; //empty
00089     gTimeStamp& operator= (gTimeStamp& ) ; //empty
00090 };
00091 ////////////////////////////////////////////////////////////
00092 #endif //gCALENDAR_X_H
00093 

Generated on Sat Aug 18 02:40:51 2007 for xpfweb_v2x lib by  doxygen 1.4.2