//File: CosTime.idl //Part of the Time Service #ifndef _COS_TIME_IDL_ #define _COS_TIME_IDL_ #include #pragma prefix "omg.org" module CosTime { enum TimeComparison { TCEqualTo, TCLessThan, TCGreaterThan, TCIndeterminate }; enum ComparisonType{ IntervalC, MidC }; enum OverlapType { OTContainer, OTContained, OTOverlap, OTNoOverlap }; exception TimeUnavailable {}; interface TIO; // forward declaration interface UTO { readonly attribute TimeBase::TimeT time; readonly attribute TimeBase::InaccuracyT inaccuracy; readonly attribute TimeBase::TdfT tdf; readonly attribute TimeBase::UtcT utc_time; UTO absolute_time(); TimeComparison compare_time( in ComparisonType comparison_type, in CosTime::UTO uto ); TIO time_to_interval( in CosTime::UTO uto); TIO interval(); }; interface TIO { readonly attribute TimeBase::IntervalT time_interval; boolean spans ( in UTO time, out TIO overlap); boolean overlaps ( in TIO interval, out TIO overlap); UTO time (); }; interface TimeService { UTO universal_time() raises(TimeUnavailable); UTO secure_universal_time() raises(TimeUnavailable); UTO new_universal_time( in TimeBase::TimeT time, in TimeBase::InaccuracyT inaccuracy, in TimeBase::TdfT tdf); UTO uto_from_utc( in TimeBase::UtcT utc); TIO new_interval( in TimeBase::TimeT lower, in TimeBase::TimeT upper); }; }; #endif /* ifndef _COS_TIME_IDL_ */