TAO_TIO.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    TAO_TIO.h
00006  *
00007  *  TAO_TIO.h,v 1.18 2006/03/14 06:14:35 jtc Exp
00008  *
00009  *  This class implements the CosTime::TIO IDL interface.
00010  *
00011  *
00012  *  @author Vishal Kachroo  <vishal@cs.wustl.edu>
00013  */
00014 //=============================================================================
00015 
00016 
00017 #ifndef TAO_TIO_H
00018 #define TAO_TIO_H
00019 #include /**/ "ace/pre.h"
00020 
00021 #include "orbsvcs/TimeServiceS.h"
00022 #include "orbsvcs/Time/TAO_UTO.h"
00023 #include "orbsvcs/Time/time_export.h"
00024 
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026 
00027 /**
00028  * @class TAO_TIO
00029  *
00030  * @brief Time Interval Object Implementation.
00031  *
00032  * The TIO represents a time interval and has operations to
00033  * compare itself with a UTO or another TIO. It also has an
00034  * operation to create a UTO from the value of it's time
00035  * interval.
00036  */
00037 class TAO_Time_Export TAO_TIO : public POA_CosTime::TIO
00038 {
00039 public:
00040   // = Initialization and termination methods.
00041   /// Constructor.
00042   TAO_TIO (TimeBase::TimeT lower,
00043            TimeBase::TimeT upper);
00044 
00045   /// Destructor.
00046   ~TAO_TIO (void);
00047 
00048   /// This is the get method for the attribute time interval.
00049   virtual TimeBase::IntervalT  time_interval (
00050       ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00051     ACE_THROW_SPEC ((CORBA::SystemException));
00052 
00053   /**
00054    * This operation returns a value of type OverlapType depending on
00055    * how the interval in the object and the time range represented by
00056    * the parameter UTO overlap.  If OverlapType is not OTNoOverlap,
00057    * then the out parameter overlap contains the overlap interval,
00058    * otherwise the out parameter contains the gap between the two
00059    * intervals.
00060    */
00061   virtual CosTime::OverlapType spans (CosTime::UTO_ptr time,
00062                                       CosTime::TIO_out overlap
00063                                       ACE_ENV_ARG_DECL)
00064     ACE_THROW_SPEC ((CORBA::SystemException));
00065 
00066   /**
00067    * This operation returns a value of type OverlapType depending on
00068    * how the interval in the object and interval in the parameter TIO
00069    * overlap. If OverlapType is not OTNoOverlap, then the out
00070    * parameter overlap contains the overlap interval, otherwise the
00071    * out parameter contains the gap between the two intervals.
00072    */
00073   virtual CosTime::OverlapType overlaps (CosTime::TIO_ptr interval,
00074                                          CosTime::TIO_out overlap
00075                                          ACE_ENV_ARG_DECL)
00076     ACE_THROW_SPEC ((CORBA::SystemException));
00077 
00078   /**
00079    * Returns a UTO in which the inaccuracy interval is equal to the
00080    * time interval in the TIO and time value is the midpoint of the
00081    * interval.
00082    */
00083   virtual CosTime::UTO_ptr time (ACE_ENV_SINGLE_ARG_DECL)
00084     ACE_THROW_SPEC ((CORBA::SystemException));
00085 
00086 private:
00087   /// This attribute returns an IntervalT structure with the values of
00088   /// its fields filled in with the corresponding values from the TIO.
00089   TimeBase::IntervalT attr_time_interval;
00090 };
00091 
00092 TAO_END_VERSIONED_NAMESPACE_DECL
00093 
00094 #include /**/ "ace/post.h"
00095 #endif /* TAO_TIO_H */

Generated on Thu Nov 9 13:58:37 2006 for TAO_CosTime by doxygen 1.3.6