TAO_Time_Service_Server.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    TAO_Time_Service_Server.h
00006  *
00007  *  $Id: TAO_Time_Service_Server.h 77001 2007-02-12 07:54:49Z johnnyw $
00008  *
00009  *  This class implements the CosTime::TimeService IDL interface.
00010  *
00011  *
00012  *  @author Vishal Kachroo  <vishal@cs.wustl.edu>
00013  */
00014 //=============================================================================
00015 
00016 
00017 #ifndef TAO_TIME_SERVICE_SERVER_H
00018 #define TAO_TIME_SERVICE_SERVER_H
00019 #include /**/ "ace/pre.h"
00020 
00021 #include "orbsvcs/TimeServiceS.h"
00022 #include "orbsvcs/Time/time_export.h"
00023 
00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00025 
00026 /**
00027  * @class TAO_Time_Service_Server
00028  *
00029  * @brief TimeService Object Implementation.
00030  *
00031  * The Object implementation implements methods to retrieve
00032  * current time as well as secure current time. The times are
00033  * retrieved as UTOs. The object also allows creation of a TIO
00034  * for a given time interval.  In general, the TimeService
00035  * manages the UTOs and the TIOs. The notion of time returned
00036  * here is the local time of the system.
00037  */
00038 class TAO_Time_Export TAO_Time_Service_Server : public POA_CosTime::TimeService
00039 {
00040 
00041 public:
00042   // = Initialization and termination methods.
00043   /// Constructor.
00044   TAO_Time_Service_Server (void);
00045 
00046   /// Destructor.
00047   ~TAO_Time_Service_Server (void);
00048 
00049   /// This operation returns the current system time and an estimate of
00050   /// inaccuracy in a UTO.
00051   virtual CosTime::UTO_ptr universal_time (void);
00052 
00053   /**
00054    * This operation returns the current time in a UTO only if the time
00055    * can be guaranteed to have been obtained securely. Currently this operation
00056    * is not implemented and throws a CORBA::NO_IMPLEMENT exception, if called.
00057    */
00058   virtual CosTime::UTO_ptr secure_universal_time (void);
00059 
00060   /// This creates a new UTO based on the given parameters.
00061   virtual CosTime::UTO_ptr new_universal_time (TimeBase::TimeT time,
00062                                                TimeBase::InaccuracyT inaccuracy,
00063                                                TimeBase::TdfT tdf);
00064 
00065   /// This creates a new UTO given a time in the UtcT form.
00066   virtual CosTime::UTO_ptr uto_from_utc (const TimeBase::UtcT &utc);
00067 
00068   /// This creates a new TIO with the given parameters.
00069   virtual CosTime::TIO_ptr new_interval (TimeBase::TimeT lower,
00070                                          TimeBase::TimeT upper);
00071 
00072 };
00073 
00074 TAO_END_VERSIONED_NAMESPACE_DECL
00075 
00076 #include /**/ "ace/post.h"
00077 #endif /* TAO_TIME_SERVICE_SERVER_H */

Generated on Tue Feb 2 17:49:17 2010 for TAO_CosTime by  doxygen 1.4.7