00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_UNITIME_H
00027 #define NL_UNITIME_H
00028
00029 #include "nel/misc/types_nl.h"
00030 #include "nel/misc/time_nl.h"
00031 #include "nel/misc/debug.h"
00032 #include "nel/net/callback_net_base.h"
00033
00034 namespace NLNET
00035 {
00036
00037 class CInetAddress;
00038 class CCallbackServer;
00039 class CCallbackClient;
00040
00047 class _CUniTime : public NLMISC::CTime
00048 {
00049 public:
00050
00052 static NLMISC::TTime getUniTime ();
00053
00055 static const char *getStringUniTime ();
00056
00058 static const char *getStringUniTime (NLMISC::TTime ut);
00059
00060
00069 static void syncUniTimeFromService (CCallbackNetBase::TRecordingState rec=CCallbackNetBase::Off, const CInetAddress *addr = NULL);
00070
00074 static void installServer (CCallbackServer *server);
00075
00080 static void syncUniTimeFromServer (CCallbackClient *client);
00081
00083 static void setUniTime (NLMISC::TTime uTime, NLMISC::TTime lTime);
00085 static void setUniTime (NLMISC::TTime uTime);
00086
00092 static void simulate() { nlstop; _Simulate = true; }
00093
00094 static bool Sync;
00095 private:
00096
00097 static NLMISC::TTime _SyncUniTime;
00098 static NLMISC::TTime _SyncLocalTime;
00099
00100
00101 static bool _Simulate;
00102 };
00103
00104 }
00105
00106 #endif // NL_UNITIME_H
00107
00108