Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

CosTime.idl

Go to the documentation of this file.
00001 #ifndef COSTIME_IDL 
00002 #define COSTIME_IDL
00003 
00004 #include <TimeBase.idl>
00005 
00006 #pragma prefix "omg.org"
00007 
00013 module CosTime 
00014 {
00015    enum TimeComparison 
00016    {
00017       TCEqualTo,
00018       TCLessThan,
00019       TCGreaterThan,
00020       TCIndeterminate
00021    };
00022 
00023    enum ComparisonType
00024    {
00025       IntervalC,                
00026       MidC              
00027    };
00028 
00029    enum OverlapType 
00030    {
00031       OTContainer,
00032       OTContained,
00033       OTOverlap,
00034       OTNoOverlap
00035    };
00036 
00037    exception TimeUnavailable {};
00038    interface TIO; // forward declaration
00039 
00044    interface UTO 
00045    {
00051       readonly attribute TimeBase::TimeT time;
00052 
00057       readonly attribute TimeBase::InaccuracyT inaccuracy;
00058 
00064       readonly attribute TimeBase::TdfT tdf;
00065 
00070       readonly attribute TimeBase::UtcT utc_time;
00071 
00077       UTO absolute_time();
00078 
00090       TimeComparison compare_time(in ComparisonType comparison_type,
00091                                   in UTO ut);
00092 
00099       TIO time_to_interval(in UTO ut);
00100 
00106       TIO interval();
00107    };
00108 
00113    interface TIO 
00114    {
00118       readonly attribute TimeBase::IntervalT time_interval;
00119 
00129       OverlapType spans (in UTO time, out TIO overlap);
00130 
00140       OverlapType overlaps (in TIO interval, out TIO overlap);
00141 
00148       UTO time ();
00149    };
00150 
00155    interface TimeService 
00156    {
00163       UTO universal_time()
00164          raises(TimeUnavailable);
00165 
00172       UTO secure_universal_time()
00173          raises(TimeUnavailable);
00174 
00182       UTO new_universal_time(in TimeBase::TimeT time,
00183                              in TimeBase::InaccuracyT inaccuracy,
00184                              in TimeBase::TdfT tdf);
00185 
00191       UTO uto_from_utc(in TimeBase::UtcT utc);
00192 
00199       TIO new_interval(in TimeBase::TimeT lower, in TimeBase::TimeT upper);
00200    };
00201 };
00202 
00203 #endif /* COSTIME_IDL */