00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <OB/CORBA.h>
00024 #include <OB/CosNaming.h>
00025 #include <ServerTime_impl.h>
00026
00027 extern CORBA::ORB_ptr orb;
00028
00029
00030
00031
00032
00033
00034
00035
00036 ServerTime::Time_impl::Time_impl()
00037 : m_drift (0)
00038 {
00039 }
00040
00041 ServerTime::Time_impl::~Time_impl()
00042 {
00043 }
00044
00045
00046
00047
00048 CORBA::Long
00049 ServerTime::Time_impl::Now()
00050 throw(CORBA::SystemException)
00051 {
00052 CORBA::Long _r = (CORBA::Long) (time (NULL) + m_drift);
00053 return _r;
00054 }
00055
00056
00057
00058
00059 CORBA::Long
00060 ServerTime::Time_impl::Drift()
00061 throw(CORBA::SystemException)
00062 {
00063 CORBA::Long _r = (CORBA::Long) m_drift;
00064 return _r;
00065 }
00066
00067 void
00068 ServerTime::Time_impl::Drift(CORBA::Long a)
00069 throw(CORBA::SystemException)
00070 {
00071 m_drift = (time_t) a;
00072 }
00073
00074
00075
00076
00077 void
00078 ServerTime::Time_impl::WaitThisLong(CORBA::Long seconds)
00079 throw(CORBA::SystemException)
00080 {
00081 CORBA::Long s;
00082 for (s = 0; s < seconds; s ++) {
00083 JTCThread::sleep (1000);
00084 }
00085 }
00086