pragma Style_Checks ("NM32766");
pragma Wide_Character_Encoding (Brackets);
pragma Warnings (Off, "use of an anonymous access type allocator");

---------------------------------------------------
--  This file has been generated automatically from
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/time/CosTime.idl
--  by IAC (IDL to Ada Compiler) 25.0w (rev. unknown).
---------------------------------------------------
--  NOTE: If you modify this file by hand, your
--  changes will be lost when you re-run the
--  IDL to Ada compiler.
---------------------------------------------------

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/time/CosTime.idl

--  //File: CosTime.idl
--  //Part of the Time Service
--  //OMG File: 02-03-08

--  #ifndef _COS_TIME_IDL_
--  #define _COS_TIME_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #include <TimeBase.idl>
--  #pragma prefix "omg.org"
--  #else
--  import ::TimeBase;
--  #endif // _PRE_3_0_COMPILER_

--  module CosTime {

--  #ifndef _PRE_3_0_COMPILER_
--  	typeprefix CosTime "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  	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;
--  		OverlapType spans (
--  			in	UTO			time,
--  			out TIO			overlap);
--  		OverlapType 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_ */

--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/time/CosTime.idl 
--  -- 87 lines

--  Source: ./TimeBase.idl

--  //File: TimeBase.idl
--  //Part of the Time Service
--  // Note: if your IDL compiler does not yet support the 
--  //   "long long" data type, compile this module with the 
--  //   preprocessor definition "NOLONGLONG". With many 
--  //   compilers this would be done with a qualifier on 
--  //   the command line, something like -DNOLONGLONG
--  //OMG File: 98-10-47

--  #ifndef _TIME_BASE_IDL_
--  #define _TIME_BASE_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #pragma prefix "omg.org"
--  #endif // _PRE_3_0_COMPILER_

--  module TimeBase {

--  #ifndef _PRE_3_0_COMPILER_
--  	typeprefix TimeBase "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  #ifdef NOLONGLONG
--  	struct ulonglong{
--  		unsigned long 		low;
--  		unsigned long		high;
--  	};
--  	typedef ulonglong 		TimeT;
--  #else
--  	typedef unsigned long long	TimeT;
--  #endif
--  	
--  	typedef TimeT 			InaccuracyT;
--  	typedef short 			TdfT;
--  	struct UtcT {
--  		TimeT			time;		// 8 octets
--  		unsigned long	inacclo;	// 4 octets
--  		unsigned short	inacchi;	// 2 octets
--  		TdfT			tdf;		// 2 octets 
--  									// total 16 octets.
--  	};

--  	struct IntervalT {
--  		TimeT			lower_bound;
--  		TimeT			upper_bound;
--  	};
--  };
--  #endif /* ifndef _TIME_BASE_IDL_ */

--  End source: ./TimeBase.idl -- 49 lines

---------------------------------------------------

with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with Ada.Exceptions;
with CORBA.Forward;
pragma Elaborate_All (CORBA.Forward);

package CosTime is

   Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosTime:1.0";

   type TimeComparison is
     (TCEqualTo,
      TCLessThan,
      TCGreaterThan,
      TCIndeterminate);

   TimeComparison_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosTime/TimeComparison:1.0";

   type ComparisonType is
     (IntervalC,
      MidC);

   ComparisonType_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosTime/ComparisonType:1.0";

   type OverlapType is
     (OTContainer,
      OTContained,
      OTOverlap,
      OTNoOverlap);

   OverlapType_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosTime/OverlapType:1.0";

   TimeUnavailable : exception;

   type TimeUnavailable_Members is
     new CORBA.Idl_Exception_Members with null record;

   TimeUnavailable_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosTime/TimeUnavailable:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosTime.TimeUnavailable_Members);

   package TIO_Forward is
     new CORBA.Forward;

end CosTime;
