Specification of package Corba
========================================================================= --
=== === --
=== Top Graph'X CORBA Implementation === --
=== === --
=== Copyright (c) 1996, Top Graph'X. === --
=== === --
=== --- Copyright Notice --- === --
=== === --
=== This software is protected as an unpublished work under the === --
=== Copyright Act of 1976. All rights reserved. Top Graph'X. === --
=== === --
========================================================================= --
with System ;
with Ada.Exceptions;
with Ada.Strings.Unbounded;
with Ada.Strings.Wide_Unbounded;
with Ada.Unchecked_Conversion ;
with Tgx.Named_Data ;
with Corba_Ios ;
pragma Elaborate_All (Corba_Ios) ;
pragma Elaborate_All (Ada.Strings.Unbounded) ;
pragma Elaborate_All (Ada.Strings.Wide_Unbounded) ;
package Corba is
IDL Data Types
subtype Boolean is Standard.Boolean;
subtype Char is Standard.Character;
subtype Wchar is Standard.Wide_Character;
type Short is range -2**15 .. 2**15 - 1;
for Short'size use 16 ;
type Unsigned_Short is mod 2**16;
for Unsigned_Short'size use 16 ;
type Long is range -2**31 .. 2**31 - 1;
type Unsigned_Long is mod 2**32;
type Long_Long is private;
function To_Long_Long (High : in Long ; Low : in Unsigned_Long)
return Long_Long;
function To_Long (N : in Long_Long) return Long;
function "<" (Left, Right : in Long_Long) return Boolean;
function "<=" (Left, Right : in Long_Long) return Boolean;
function ">" (Left, Right : in Long_Long) return Boolean;
function ">=" (Left, Right : in Long_Long) return Boolean;
function "+" (Left, Right : in Long_Long) return Long_Long;
function "+" (Left : in Long_Long; Right : in Long) return Long_Long;
function "+" (Left : in Long; Right : in Long_Long) return Long_Long;
function "-" (N : in Long_Long) return Long_Long;
function "-" (Left, Right : in Long_Long) return Long_Long;
function "-" (Left : in Long_Long; Right : in Long) return Long_Long;
function "*" (Left, Right : in Long_Long) return Long_Long;
function "*" (Left : in Long_Long; Right : in Long) return Long_Long;
function "*" (Left : in Long; Right : in Long_Long) return Long_Long;
function "/" (Left, Right : in Long_Long) return Long_Long;
function "/" (Left : in Long_Long; Right : in Long) return Long_Long;
function "mod" (Left, Right : in Long_Long) return Long_Long;
function "mod" (Left : in Long_Long; Right : in Long) return Long;
function "abs" (N : in Long_Long) return Long_Long;
function LL_Image (N : in Long_Long) return Standard.String;
function LL_Value (N : in Standard.String) return Long_Long;
Zero : constant Long_Long ;
One : constant Long_Long;
Max_Long_Long : constant Long_Long;
Min_Long_Long : constant Long_Long;
type Unsigned_Long_Long is private;
function To_Unsigned_Long_Long
( High : in Unsigned_Long ;
Low : in Unsigned_Long) return Unsigned_Long_Long;
function To_Unsigned_Long (N : in Unsigned_Long_Long) return Unsigned_Long;
function "<" (Left,Right : in Unsigned_Long_Long) return Boolean;
function "<=" (Left,Right : in Unsigned_Long_Long) return Boolean;
function ">" (Left,Right : in Unsigned_Long_Long) return Boolean;
function ">=" (Left,Right : in Unsigned_Long_Long) return Boolean;
function "+" (Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "+" ( Left : in Unsigned_Long_Long;
Right : in Unsigned_Long) return Unsigned_Long_Long;
function "+" ( Left : in Unsigned_Long;
Right : in Unsigned_Long_Long) return Unsigned_Long_Long;
function "-" (N : in Unsigned_Long_Long) return Unsigned_Long_Long;
function "-" (Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "-" ( Left : in Unsigned_Long_Long;
Right : in Unsigned_Long) return Unsigned_Long_Long;
function "*" (Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "*" ( Left : in Unsigned_Long_Long;
Right : in Unsigned_Long) return Unsigned_Long_Long;
function "*" ( Left : in Unsigned_Long;
Right : in Unsigned_Long_Long) return Unsigned_Long_Long;
function "/" (Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "/" ( Left : in Unsigned_Long_Long;
Right : in Unsigned_Long) return Unsigned_Long_Long;
function "mod" (Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "mod" ( Left : in Unsigned_Long_Long;
Right : in Unsigned_Long) return Unsigned_Long;
function "not" (N : in Unsigned_Long_Long) return Unsigned_Long_Long;
function "and" ( Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "or" ( Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function "xor" ( Left, Right : in Unsigned_Long_Long)
return Unsigned_Long_Long;
function ULL_Image (N : in Unsigned_Long_Long) return Standard.String;
function ULL_Value (N : in Standard.String) return Unsigned_Long_Long;
U_Zero : constant Unsigned_Long_Long ;
U_One : constant Unsigned_Long_Long;
Max_U_Long_Long : constant Unsigned_Long_Long ;
function To_Long_Long (N : in Unsigned_Long_Long)
return Long_Long;
function To_Unsigned_Long_Long (N : in Long_Long)
return Unsigned_Long_Long;
function High (N : in Long_Long) return Long ;
function Low (N : in Long_Long) return Unsigned_Long ;
function High (N : in Unsigned_Long_Long) return Unsigned_Long ;
function Low (N : in Unsigned_Long_Long) return Unsigned_Long ;
type Float is digits 6;
type Double is digits 15;
type Octet is mod 256;
type String is new Ada.Strings.Unbounded.Unbounded_String;
type Wide_String is new Ada.Strings.Wide_Unbounded.Unbounded_Wide_String;
function To_Corba_String (Source : in Standard.String)
return String renames To_Unbounded_String;
function To_Standard_String (Source : in String)
return Standard.String renames To_String;
function To_Corba_Wide_String (Source : in Standard.Wide_String)
return Wide_String renames To_Unbounded_Wide_String;
function To_Standard_Wide_String (Source : in Wide_String)
return Standard.Wide_String renames To_Wide_String;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Octet ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Short ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Long) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Long_Long) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Unsigned_Short) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Unsigned_Long) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Unsigned_Long_Long) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Float) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Double) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Standard.String) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out String) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Wide_String) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Octet ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Short ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Long) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Long_Long) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Unsigned_Short) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Unsigned_Long) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Unsigned_Long_Long) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Float) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Double) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Standard.String) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in String) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Wide_String) ;
Null_String : constant String := String
(Ada.Strings.Unbounded.Null_Unbounded_String);
Null_Wide_String : constant Wide_String := Wide_String
(Ada.Strings.Wide_Unbounded.Null_Unbounded_Wide_String);
Bytes to number conversions
subtype Two_Bytes_Array is Corba_Ios.Stream_Element_Array (1 .. 2) ;
subtype Four_Bytes_Array is Corba_Ios.Stream_Element_Array (1 .. 4) ;
subtype Eight_Bytes_Array is Corba_Ios.Stream_Element_Array (1 .. 8) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Corba_Ios.Stream_Element_Count, Target => Four_Bytes_Array) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Long, Target => Four_Bytes_Array) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Unsigned_Long, Target => Four_Bytes_Array) ;
function To_Count is new Ada.Unchecked_Conversion
( Source => Four_Bytes_Array, Target => Corba_Ios.Stream_Element_Count) ;
function To_ULong is new Ada.Unchecked_Conversion
( Source => Four_Bytes_Array, Target => Unsigned_Long) ;
function To_Long is new Ada.Unchecked_Conversion
( Source => Four_Bytes_Array, Target => Long) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Short, Target => Two_Bytes_Array) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Unsigned_Short, Target => Two_Bytes_Array) ;
function To_Short is new Ada.Unchecked_Conversion
( Source => Two_Bytes_Array, Target => Short) ;
function To_UShort is new Ada.Unchecked_Conversion
( Source => Two_Bytes_Array, Target => Unsigned_Short) ;
OMGVMCID : constant Unsigned_Long := 16#4F4D0000#;
Exceptions
type Idl_Exception_Members is abstract tagged null record;
type Idl_Exception_Members_Access is access all Idl_Exception_Members'class;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Idl_Exception_Members ) is abstract ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Idl_Exception_Members ) is abstract ;
procedure Get_Members ( X : in Ada.Exceptions.Exception_Occurrence ;
To : out Idl_Exception_Members) is abstract;
procedure Raise_Exception (Self : in Idl_Exception_Members'class);
type Completion_Status is (Completed_Yes, Completed_No, Completed_Maybe);
type Exception_Type is (No_Exception, User_Exception, System_Exception);
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Completion_Status ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Completion_Status ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Exception_Type ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Exception_Type ) ;
type System_Exception_Members is abstract new Idl_Exception_Members with
record
Minor : Unsigned_Long;
Completed : Completion_Status;
end record;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out System_Exception_Members ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in System_Exception_Members ) ;
procedure Get_Members
( X : in Ada.Exceptions.Exception_Occurrence ;
To : out System_Exception_Members) ;
the unknown exception
Unknown : exception;
type Unknown_Members is new System_Exception_Members with null record;
an invalid parameter was passed
Bad_Param : exception;
type Bad_Param_Members is new System_Exception_Members with null record;
dynamic memory allocation failure
No_Memory : exception;
type No_Memory_Members is new System_Exception_Members with null record;
violated implementation limit
Imp_Limit : exception;
type Imp_Limit_Members is new System_Exception_Members with null record;
communication failure
Comm_Failure : exception;
type Comm_Failure_Members is new System_Exception_Members with null record;
invalid object reference
Inv_Objref : exception;
type Inv_Objref_Members is new System_Exception_Members with null record;
no permission for attempted op.
No_Permission : exception;
type No_Permission_Members is new System_Exception_Members with null record;
ORB internal error
Internal : exception;
type Internal_Members is new System_Exception_Members with null record;
error marshalling param/result
Marshal : exception;
type Marshal_Members is new System_Exception_Members with null record;
ORB initialization failure
Initialization_Failure : exception;
type Initialization_Failure_Members is new System_Exception_Members with null record;
operation implementation unavailable
No_Implement : exception;
type No_Implement_Members is new System_Exception_Members with null record;
bad typecode
Bad_Typecode : exception;
type Bad_Typecode_Members is new System_Exception_Members with null record;
invalid operation
Bad_Operation : exception;
type Bad_Operation_Members is new System_Exception_Members with null record;
insufficient resources for req.
No_Resources : exception;
type No_Resources_Members is new System_Exception_Members with null record;
response to request not yet available
No_Response : exception;
type No_Response_Members is new System_Exception_Members with null record;
persistent storage failure
Persist_Store : exception;
type Persist_Store_Members is new System_Exception_Members with null record;
routine invocations out of order
Bad_Inv_Order : exception;
type Bad_Inv_Order_Members is new System_Exception_Members with null record;
transient failure - reissue request
Transient : exception;
type Transient_Members is new System_Exception_Members with null record;
cannot free memory
Free_Mem : exception;
type Free_Mem_Members is new System_Exception_Members with null record;
invalid identifier syntax
Inv_Ident : exception;
type Inv_Ident_Members is new System_Exception_Members with null record;
invalid flag was specified
Inv_Flag : exception;
type Inv_Flag_Members is new System_Exception_Members with null record;
error accessing interface repository
Intf_Repos : exception;
type Intf_Repos_Members is new System_Exception_Members with null record;
error processing context object
Bad_Context : exception;
type Bad_Context_Members is new System_Exception_Members with null record;
failure detected by object adapte
Obj_Adapter : exception;
type Obj_Adapter_Members is new System_Exception_Members with null record;
data conversion error
Data_Conversion : exception;
type Data_Conversion_Members is new System_Exception_Members with null record;
object not exist error
Object_Not_Exist : exception;
type Object_Not_Exist_Members is new System_Exception_Members with null record;
required transaction context not present
Transaction_Required : exception;
type Transaction_Required_Members is new System_Exception_Members with null record;
transaction already rolled back or marked for
rollback, cannot proceed
Transaction_Rolledback : exception;
type Transaction_Rolledback_Members is new System_Exception_Members with null record;
invalid transaction context
Invalid_Transaction : exception;
type Invalid_Transaction_Members is new System_Exception_Members with null record;
invalid policy
Inv_Policy : exception;
type Inv_Policy_Members is new System_Exception_Members with null record;
invalid transaction context
Codeset_Incompatible : exception;
type Codeset_Incompatible_Members is new System_Exception_Members with null record;
Rebind : exception ; rebind needed
type Rebind_Members is new System_Exception_Members with null record;
Timeout : exception ; operation timed out
type Timeout_Members is new System_Exception_Members with null record;
Transaction_Unavailable : exception ; no transaction
type Transaction_Unavailable_Members is new System_Exception_Members with null record;
Transaction_Mode : exception ; invalid transaction mode
type Transaction_Mode_Members is new System_Exception_Members with null record;
Bad_Qos : exception ; bad quality of service
type Bad_Qos_Members is new System_Exception_Members with null record;
Invalid_Activity : exception ; bad quality of service
type Invalid_Activity_Members is new System_Exception_Members with null record;
Activity_Completed : exception ; bad quality of service
type Activity_Completed_Members is new System_Exception_Members with null record;
Activity_Required : exception ; bad quality of service
type Activity_Required_Members is new System_Exception_Members with null record;
type Definitionkind is
( Dk_None, Dk_All, Dk_Attribute, Dk_Constant,
Dk_Exception, Dk_Interface, Dk_Module, Dk_Operation,
Dk_Typedef, Dk_Alias, Dk_Struct, Dk_Union, Dk_Enum,
Dk_Primitive, Dk_String, Dk_Sequence, Dk_Array, Dk_Repository,
Dk_Wstring, Dk_Fixed, Dk_Value, Dk_ValueBox, Dk_ValueMember, Dk_Native,
Dk_AbstractInterface, Dk_LocalInterface);
for Definitionkind'size use 32 ;
type Tckind is
( Tk_Null, Tk_Void, Tk_Short, Tk_Long, Tk_Ushort, Tk_Ulong,
Tk_Float, Tk_Double, Tk_Boolean, Tk_Char, Tk_Octet,
Tk_Any, Tk_Typecode, Tk_Principal, Tk_Objref, Tk_Struct,
Tk_Union, Tk_Enum, Tk_String, Tk_Sequence, Tk_Array,
Tk_Alias, Tk_Except, Tk_Longlong, Tk_Ulonglong,
Tk_Longdouble, Tk_Wchar, Tk_Wstring, Tk_Fixed,
Tk_Value, Tk_Value_Box, Tk_Native, Tk_Abstract_Interface,
Tk_Local_Interface, Tk_Indirect);
for Tckind'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Tckind ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Tckind ) ;
type ValueModifier is new Short;
Vm_None : constant ValueModifier := 0;
Vm_Custom : constant ValueModifier := 1;
Vm_Abstract : constant ValueModifier := 2;
Vm_Truncatable : constant ValueModifier := 3;
type Visibility is new Short;
Private_Member : constant Visibility := 0;
Public_Member : constant Visibility := 1;
type Operationmode is (Op_Normal, Op_Oneway);
for Operationmode'size use 32 ;
type Parametermode is (Param_In, Param_Out, Param_Inout);
for Parametermode'size use 32 ;
type Attributemode is (Attr_Normal, Attr_Readonly);
for AttributeMode'size use 32 ;
type Any (Kind : Corba.Tckind := Tk_Null) is private;
Null_Any : constant Any ;
type Identifier is new String;
Null_Identifier : constant Identifier := Identifier (Null_String) ;
type Scopedname is new String;
Null_Scopedname : constant Scopedname := Scopedname (Null_String) ;
type Repositoryid is new String;
Null_Id : constant Repositoryid := Repositoryid (Null_String) ;
type Versionspec is new String;
type Objectid is new String ;
TypeCode
package Typecode is
TGX : Make Typecode.Object type visible to allow implementation of
TGX : required operations like Corba.Iterate_Over_Any_Elements
type Object (Kind : Corba.Tckind := Tk_Null) is
record
used when inside Any
Little : Boolean := Corba_Ios.Is_Little_Endian ;
aligment of value in Any
Align : Corba_Ios.Stream_Element_Count := 1 ;
Maximum of alignment among all components
Max_Align : Corba_Ios.Stream_Element_Count := 1 ;
case Kind is
when Tk_Null .. Tk_Principal | Tk_Longlong .. Tk_Wchar =>
null ;
when Tk_String | Tk_WString =>
Max_Length : Unsigned_Long := 0 ;
when Tk_Fixed =>
Fixed_Digits : Unsigned_Short := 0 ;
Fixed_Scale : Short := 0 ;
when Tk_Indirect =>
Offset : Long := 0 ;
when others =>
Code : Corba_Ios.Controlled_Stream ;
Swap : Corba_Ios.Controlled_Stream ;
end case;
end record;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Object ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Object ) ;
Bounds : exception;
Badkind : exception;
type Bounds_Members is new Corba.Idl_Exception_Members
with null record;
procedure Get_Members ( X : in Ada.Exceptions.Exception_Occurrence ;
To : out Bounds_Members) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Bounds_Members ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Bounds_Members ) ;
type Badkind_Members is new Corba.Idl_Exception_Members
with null record;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Badkind_Members ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Badkind_Members ) ;
procedure Get_Members ( X : in Ada.Exceptions.Exception_Occurrence ;
To : out Badkind_Members) ;
function Equal (Self : in Object; Tc : in Object) return Corba.Boolean;
function "=" (Left, Right : in Object) return Boolean renames Equal;
function Equivalent (Left, Right : in Object) return Boolean;
function Get_Compact_Typecode (Self : in Object) return Object;
function Kind (Self : in Object) return Corba.Tckind;
IDL: for Tk_Objref, Tk_Struct, Tk_Union, Tk_Enum,
IDL: Tk_Alias, Tk_Value, Tk_Value_Box, Tk_Native,
IDL: Tk_Abstract_Interface, and Tk_Except
function Id (Self : in Object) return Corba.RepositoryId ;
IDL: for Tk_Objref, Tk_Struct, Tk_Union, Tk_Enum,
IDL: Tk_Alias, Tk_Value, Tk_Value_Box, Tk_Native,
IDL: Tk_Abstract_Interface, and Tk_Except
function Name (Self : in Object) return Corba.Identifier ;
IDL: for Tk_Struct, Tk_Union, Tk_Enum, Tk_Value,
IDL: Tk_Value_Box, and Tk_Except
function Member_Count (Self : in Object) return Corba.Unsigned_Long;
IDL: for Tk_Struct, Tk_Union, Tk_Enum, Tk_Value,
IDL: Tk_Value_Box, and Tk_Except
function Member_Name
( Self : in Object ;
Index : in Corba.Unsigned_Long) return Corba.Identifier ;
IDL: for Tk_Struct, Tk_Union, Tk_Value, Tk_Value_Box, and Tk_Except
function Member_Type
( Self : in Object ;
Index : in Corba.Unsigned_Long) return Object ;
IDL: for Tk_Union
function Member_Label
( Self : in Object ;
Index : in Corba.Unsigned_Long) return Any ;
IDL: for Tk_Union
function Discriminator_Type (Self : in Object) return Object ;
IDL: for Tk_Union
function Default_Index (Self : in Object) return Corba.Long;
IDL: for Tk_String, Tk_Sequence, and Tk_Array
function Length (Self : in Object) return Corba.Unsigned_Long;
IDL: for Tk_Sequence, Tk_Array, Tk_Value, Tk_Value_Box, and Tk_Alias
function Content_Type (Self : in Object) return Object ;
IDL: for Tk_Fixed
function Fixed_Digits(Self : in Object) return Unsigned_Short;
IDL: for Tk_Fixed
function Fixed_Scale(Self : in Object) return Short;
IDL: for Tk_Value
function Member_Visibility ( Self : in Object;
Index : in Unsigned_Long) return Visibility;
IDL: for Tk_Value
function Type_Modifier (Self : in Object) return ValueModifier;
IDL: for Tk_Value
function Concrete_Base_Type (Self : in Object) return Object;
To make a Tk_Object typecode
function Object_Typecode ( Id : in Repositoryid ;
Name : in Identifier) return Object ;
function Convert_To_Tc (Bytes : in Corba_Ios.Stream_Element_Array)
return Object ;
function Register_Tc (Bytes : in Corba_Ios.Stream_Elements)
return Boolean ;
function Get_Tc (R_Id : in Standard.String) return Object ;
Is_Little_Endian : Boolean renames Corba_Ios.Is_Little_Endian ;
Tc_Null : constant Object := ( Kind => Tk_Null,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1) ;
Tc_Void : constant Object := ( Kind => Tk_Void,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1) ;
Tc_Short : constant Object := ( Kind => Tk_Short,
Little => Is_Little_Endian,
Align => 2,
Max_Align => 2) ;
Tc_Long : constant Object := ( Kind => Tk_Long,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4) ;
Tc_Long_Long : constant Object := ( Kind => Tk_LongLong,
Little => Is_Little_Endian,
Align => 8,
Max_Align => 8) ;
Tc_Ushort : constant Object := ( Kind => Tk_Ushort,
Little => Is_Little_Endian,
Align => 2,
Max_Align => 2) ;
Tc_Ulong : constant Object := ( Kind => Tk_Ulong,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4) ;
Tc_ULong_long : constant Object := ( Kind => Tk_ULonglong,
Little => Is_Little_Endian,
Align => 8,
Max_Align => 8) ;
Tc_Float : constant Object := ( Kind => Tk_Float,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4) ;
Tc_Double : constant Object := ( Kind => Tk_Double,
Little => Is_Little_Endian,
Align => 8,
Max_Align => 8) ;
Tc_Long_Double : constant Object := ( Kind => Tk_LongDouble,
Little => Is_Little_Endian,
Align => 8,
Max_Align => 8) ;
Tc_Boolean : constant Object := ( Kind => Tk_Boolean,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1) ;
Tc_Char : constant Object := ( Kind => Tk_Char,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1) ;
Tc_WChar : constant Object := ( Kind => Tk_WChar,
Little => Is_Little_Endian,
Align => 2,
Max_Align => 2) ;
Tc_Octet : constant Object := ( Kind => Tk_Octet,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1) ;
Tc_Any : constant Object := ( Kind => Tk_Any,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 8) ;
Tc_Typecode : constant Object := ( Kind => Tk_Typecode,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4) ;
Tc_Principal : constant Object := ( Kind => Tk_Principal,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4) ;
Tc_Object : constant Object := ( Kind => Tk_Objref,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4,
Code => Corba_Ios.Null_Controlled_Stream,
Swap => Corba_Ios.Null_Controlled_Stream) ;
Tc_String : constant Object := ( Kind => Tk_String,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4,
Max_Length => 0) ;
Tc_WString : constant Object := ( Kind => Tk_WString,
Little => Is_Little_Endian,
Align => 4,
Max_Align => 4,
Max_Length => 0) ;
end Typecode;
function Get_Type (The_Any : in Any) return Typecode.Object;
function Type_Of (The_Any : in Any) return Typecode.Object Deprecated
renames Get_Type;
function To_Any (From : in Short) return Any;
function To_Any (From : in Long) return Any;
function To_Any (From : in Long_Long) return Any;
function To_Any (From : in Unsigned_Short) return Any;
function To_Any (From : in Unsigned_Long) return Any;
function To_Any (From : in Unsigned_Long_Long) return Any;
function To_Any (From : in Float) return Any;
function To_Any (From : in Double) return Any;
function To_Any (From : in Boolean) return Any;
function To_Any (From : in Char) return Any;
function To_Any (From : in WChar) return Any;
function To_Any (From : in Octet) return Any;
function To_Any (From : in Any) return Any;
function To_Any (From : in TypeCode.Object) return Any;
function To_Any (From : in String) return Any;
function To_Any (From : in Wide_String) return Any;
function From_Any (From : in Any) return Short;
function From_Any (From : in Any) return Long;
function From_Any (From : in Any) return Long_Long;
function From_Any (From : in Any) return Unsigned_Short;
function From_Any (From : in Any) return Unsigned_Long;
function From_Any (From : in Any) return Unsigned_Long_Long;
function From_Any (From : in Any) return Float;
function From_Any (From : in Any) return Double;
function From_Any (From : in Any) return Boolean;
function From_Any (From : in Any) return Char;
function From_Any (From : in Any) return WChar;
function From_Any (From : in Any) return Octet;
function From_Any (From : in Any) return Any;
function From_Any (From : in Any) return TypeCode.Object;
function From_Any (From : in Any) return String;
function From_Any (From : in Any) return Wide_String;
function To_Short (From : in Any) return Short renames From_Any;
function To_Long (From : in Any) return Long renames From_Any;
function To_Long_Long (From : in Any) return Long_Long renames From_Any;
function To_Unsigned_Short (From : in Any) return Unsigned_Short
renames From_Any;
function To_Unsigned_Long (From : in Any) return Unsigned_Long renames From_Any;
function To_Unsigned_Long_Long (From : in Any) return Unsigned_Long_Long
renames From_Any;
function To_Float (From : in Any) return Float renames From_Any;
function To_Double (From : in Any) return Double renames From_Any;
function To_Boolean (From : in Any) return Boolean renames From_Any;
function To_Char (From : in Any) return Char renames From_Any;
function To_WChar (From : in Any) return WChar renames From_Any;
function To_Octet (From : in Any) return Octet renames From_Any;
function To_TypeCode (From : in Any) return TypeCode.Object renames From_Any;
function To_String (From : in Any) return String renames From_Any;
function To_Wide_String (From : in Any) return Wide_String renames From_Any;
type Flags is new Corba.Unsigned_Long;
Arg_In : constant Flags := 1;
Arg_Out : constant Flags := 2;
Arg_Inout : constant Flags := 4;
type Namedvalue is
record
Name : Identifier;
Argument : Any;
Len : Long := 0; Meaningless
Arg_Modes : Flags := 0;
end record;
type Access_Namedvalue is access all Namedvalue ;
Out_List_Memory : constant Flags := 2**3; CORBA 7.2.1
In_Copy_Value : constant Flags := 2**4; CORBA 7.2.2
Inv_No_Response : constant Flags := 2**5; CORBA 7.3.1
Inv_Term_On_Err : constant Flags := 2**6; Deprecated
Resp_No_Wait : constant Flags := 2**7; Deprecated
Dependent_List : constant Flags := 2**8; CORBA 7.4.2
Ctx_Restrict_Scope : constant Flags := 2**9; CORBA 7.6.4
Ctx_Delete_Descendents : constant Flags := 2**10; CORBA 7.6.7
in support of Object interface
type PolicyType is new Unsigned_Long;
SecConstruction : constant PolicyType := 11 ;
type PolicyErrorCode is new Corba.Short;
Bad_Policy : constant PolicyErrorCode := 0 ;
Unsupported_Policy : constant PolicyErrorCode := 1 ;
Bad_Policy_Type : constant PolicyErrorCode := 2 ;
Bad_Policy_Value : constant PolicyErrorCode := 3 ;
Unsupported_Policy_Value : constant PolicyErrorCode := 4 ;
PolicyError : exception;
type PolicyError_Members is new Idl_Exception_Members with
record
reason : PolicyErrorCode;
end record;
PolicyError_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/PolicyError:1.0") ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out PolicyError_Members ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in PolicyError_Members ) ;
procedure Get_Members (X : in Ada.Exceptions.Exception_Occurrence ;
To : out PolicyError_Members) ;
type SetOverrideType is (Set_Override, Add_Override) ;
type Status is new Corba.Unsigned_Long;
Standard exception Ids
Unknown_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/UNKNOWN:1.0") ;
Bad_Param_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_PARAM:1.0") ;
No_Memory_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/NO_MEMORY:1.0") ;
Imp_Limit_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/IMP_LIMIT:1.0") ;
Comm_Failure_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/COMM_FAILURE:1.0") ;
Inv_Objref_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INV_OBJREF:1.0") ;
No_Permission_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/NO_PERMISSION:1.0") ;
Internal_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INTERNAL:1.0") ;
Marshal_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/MARSHAL:1.0") ;
Initialize_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INITIALIZE:1.0") ;
No_Implement_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/NO_IMPLEMENT:1.0") ;
Bad_Typecode_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_TYPECODE:1.0") ;
Bad_Operation_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_OPERATION:1.0") ;
No_Resources_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/NO_RESOURCES:1.0") ;
No_Response_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/NO_RESPONSE:1.0") ;
Persist_Store_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/PERSIST_STORE:1.0") ;
Bad_Inv_Order_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_INV_ORDER:1.0") ;
Transient_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TRANSIENT:1.0") ;
Free_Mem_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/FREE_MEM:1.0") ;
Inv_Ident_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INV_IDENT:1.0") ;
Inv_Flag_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INV_FLAG:1.0") ;
Intf_Repos_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INTF_REPOS:1.0") ;
Bad_Context_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_CONTEXT:1.0") ;
Obj_Adapter_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/OBJ_ADAPTER:1.0") ;
Data_Conversion_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/DATA_CONVERSION:1.0") ;
Object_Not_Exist_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/OBJECT_NOT_EXIST:1.0") ;
Transaction_Required_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TRANSACTION_REQUIRED:1.0") ;
Transaction_Rolledback_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TRANSACTION_ROLLEDBACK:1.0") ;
Invalid_Transaction_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INVALID_TRANSACTION:1.0") ;
Inv_Policy_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INV_POLICY:1.0") ;
Codeset_Incompatible_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/CODESET_INCOMPATIBLE:1.0") ;
Rebind_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/REBIND:1.0") ;
Timeout_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TIMEOUT:1.0") ;
Transaction_Unavailable_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TRANSACTION_UNAVAILABLE:1.0") ;
Transaction_Mode_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/TRANSACTION_MODE:1.0") ;
Bad_Qos_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/BAD_QOS:1.0") ;
Invalid_Activity_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/INVALID_ACTIVITY:1.0") ;
Activity_Completed_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/ACTIVITY_COMPLETED:1.0") ;
Activity_Required_Id : constant RepositoryId := To_Unbounded_String
("IDL:omg.org/CORBA/ACTIVITY_REQUIRED:1.0") ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Boolean ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Char ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out WChar ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Char ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in WChar ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Boolean ) ;
type Object_Identity is new Unsigned_Long ;
type Service_Identity is new Unsigned_Short ;
type Orb_Identity is new Unsigned_Long ;
type ServiceType is new Corba.Unsigned_Short;
Security : constant ServiceType := 1 ;
type ServiceOption is new Corba.Unsigned_Long;
type ServiceDetailType is new Corba.Unsigned_Long;
type Poa_Signature is new Corba.Unsigned_Long;
subtype OpaqueValue is System.Address;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out AttributeMode);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in AttributeMode);
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out OperationMode);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in OperationMode);
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out ParameterMode);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in ParameterMode);
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out SetOverrideType ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in SetOverrideType ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Definitionkind ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Definitionkind ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Any ) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Any ;
Offset : in Corba_Ios.Stream_Element_Offset) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Any ) ;
TGX: To compare repository ids, taking into account differences
in minor version numbers
function Is_A (Actual, Formal : in Standard.String) return Boolean ;
TGX: To register a user exception
procedure Register_Exception
( Tag : in Standard.String ;
Name : in Repositoryid ;
Code : in Corba.Typecode.Object ;
Id : in Ada.Exceptions.Exception_Id ;
Sys : in Boolean := False ) ;
TGX: To raise a Corba reply exception
procedure Store_Members_And_Raise
( Is_System : in Boolean ;
Members : in Any ;
Identity : in Ada.Exceptions.Exception_Id) ;
private
Is_Little_Endian : Boolean renames Corba_Ios.Is_Little_Endian ;
type Long_Long is
record
Low : Unsigned_Long ;
High : Long ;
end record ;
for Long_Long use
record
Low at 0 range 0 .. 31;
High at 0 range 32 .. 63 ;
end record ;
type Unsigned_Long_Long is
record
Low : Unsigned_Long ;
High : Unsigned_Long ;
end record ;
for Unsigned_Long_Long use
record
Low at 0 range 0 .. 31;
High at 0 range 32 .. 63 ;
end record ;
function To_Long_Long is new Ada.Unchecked_Conversion
( Source => Eight_Bytes_Array, Target => Long_Long) ;
function To_Bytes is new Ada.Unchecked_Conversion
( Source => Long_Long, Target => Eight_Bytes_Array) ;
Zero : constant Long_Long := (Low => 0, High => 0) ;
One : constant Long_Long := (Low => 1, High => 0) ;
Max_Long_Long : constant Long_Long := (Low => 2**32 - 1, High => 2**31 - 1) ;
Min_Long_Long : constant Long_Long := (Low => 0, High => - 2**31) ;
U_Zero : constant Unsigned_Long_Long := (Low => 0, High => 0) ;
U_One : constant Unsigned_Long_Long := (Low => 1, High => 0) ;
Max_U_Long_Long : constant Unsigned_Long_Long := (Low => 2**32 - 1, High => 2**32 - 1) ;
procedure Build_Any
( Stream : access Corba_Ios.Iop_Stream_Type ;
Code : in Typecode.Object ;
Item : in out Any ) ;
type Any (Kind : Corba.Tckind := Tk_Null) is
record
Little : Boolean := Is_Little_Endian ;
Start : Corba_Ios.Stream_Element_Offset := 0 ;
Type_Of : Typecode.Object (Kind => Kind);
Data : Corba_Ios.Controlled_Stream ;
end record ;
function Store_Members ( Is_System : in Boolean ;
Members : in Any ;
Identity : in Ada.Exceptions.Exception_Id)
return Standard.String ;
procedure Get_Members ( X : in Ada.Exceptions.Exception_Occurrence ;
Is_System : out Boolean ;
Members : in out Any ) ;
type Exception_Information is
record
Is_System : Boolean ;
Code : Typecode.Object ;
Id : Ada.Exceptions.Exception_Id ;
end record ;
Null_Exception_Information : constant Exception_Information :=
( Is_System => False,
Code => Typecode.Tc_Null,
Id => Ada.Exceptions.Null_Id) ;
type Exception_Description is
record
Is_System : Boolean ;
Code : Typecode.Object ;
Id : Ada.Exceptions.Exception_Id ;
R_Id : Repositoryid ;
end record ;
Null_Exception_Description : constant Exception_Description :=
( Is_System => False,
Code => Typecode.Tc_Null,
Id => Ada.Exceptions.Null_Id,
R_Id => Null_Id) ;
package Exception_Base is new Tgx.Named_Data
(Exception_Information, Null_Exception_Information, Repositoryid) ;
package Exception_Search is new Tgx.Named_Data
(Exception_Description, Null_Exception_Description, Corba.String) ;
procedure Register_Exception
( Name : in Repositoryid ;
Code : in Corba.Typecode.Object ;
Id : in Ada.Exceptions.Exception_Id ;
Sys : in Boolean := False ) ;
Allow retrieval of exception parameters
function Get_Type_Code (Name : in Repositoryid) return Typecode.Object;
With the external tag
function Get_Type_Code (Name : in Standard.String) return Typecode.Object;
With the external tag
function Get_Exception_Repository_Id (Name : in Standard.String)
return RepositoryId ;
so that it becomes possible to raise the corresponding Ada exception
function Get_Exception_Id (Name : in Repositoryid)
return Ada.Exceptions.Exception_Id;
With the external tag
function Get_Exception_Id (Name : in Standard.String)
return Ada.Exceptions.Exception_Id;
Null_Any : constant Any := ( Kind => Tk_Null,
Little => Is_Little_Endian,
Start => 0,
Type_Of => ( Kind => Tk_Null,
Little => Is_Little_Endian,
Align => 1,
Max_Align => 1),
Data => Corba_Ios.Null_Controlled_Stream ) ;
end Corba;
List of definition uses
This page was generated by PrismTech's ada2html on Friday Mai 12 2006 16:18