Specification of package Corba.Portableserver
========================================================================= --
=== === --
=== Top Graph'X CORBA Implementation === --
=== === --
=== Copyright (c) 2000, 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. === --
=== === --
========================================================================= --
TGX: Corba is made ancestor of PortableServer and its children to allow
TGX: the use of certain private operations
TGX: a renaming declaration provides the mapping conformance
with Corba.AbstractBase ;
with Corba.Object ;
with Corba.Impl ;
with Corba.Iop ;
with Corba.Sequences ;
with Corba.Idl_Sequence_Octet ;
with Ada.Exceptions ;
pragma Elaborate_All (Corba.Object) ;
package Corba.PortableServer is
type POA_Ref is new Corba.AbstractBase.Ref with null record;
package Idl_Sequence_Poa is new Corba.Sequences.Unbounded (POA_Ref);
type POAList is new Idl_Sequence_Poa.Sequence ;
Null_POAList : constant POAList := POAList (Idl_Sequence_Poa.Null_Sequence) ;
type ObjectId is new Corba.Idl_Sequence_Octet.Sequence ;
Null_ObjectId : constant ObjectId :=
ObjectId (Corba.Idl_Sequence_Octet.Null_Sequence) ;
function String_To_ObjectId (Value : in Standard.String) return ObjectId ;
procedure String_To_ObjectId ( Value : in Standard.String ;
Oid : in out ObjectId) ;
function ObjectId_To_String (Value : in ObjectId) return Standard.String ;
package Idl_Sequence_ObjectId is new Corba.Sequences.Unbounded (ObjectId);
type IDs is new Idl_Sequence_ObjectId.Sequence ;
Null_IDs : constant IDs := IDs (Idl_Sequence_ObjectId.Null_Sequence) ;
ForwardRequest : exception;
type ForwardRequest_Members is new Corba.Idl_Exception_Members with
record
Forward_Reference : Corba.Object.Ref;
end record;
ForwardRequest_Id : constant Corba.RepositoryId := Corba.To_Unbounded_String
("IDL:omg.org/PortableServer/ForwardRequest:1.0") ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out ForwardRequest_Members ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in ForwardRequest_Members ) ;
procedure Get_Members (X : in Ada.Exceptions.Exception_Occurrence ;
To : out ForwardRequest_Members) ;
Thread_Policy_Id : constant Corba.PolicyType := 16 ;
Lifespan_Policy_Id : constant Corba.PolicyType := 17 ;
Id_Uniqueness_Policy_Id : constant Corba.PolicyType := 18 ;
Id_Assignment_Policy_Id : constant Corba.PolicyType := 19 ;
Implicit_Activation_Policy_Id : constant Corba.PolicyType := 20 ;
Servant_Retention_Policy_Id : constant Corba.PolicyType := 21 ;
Request_Processing_Policy_Id : constant Corba.PolicyType := 22 ;
OrbAda policies
Priority_Mode_Policy_Id : constant Corba.PolicyType := 16#54475801# ; "TGX^A"
Thread_Count_Policy_Id : constant Corba.PolicyType := 16#54475802# ; "TGX^B"
TCP_Mode_Policy_Id : constant Corba.PolicyType := 16#54475803# ; "TGX^C"
TCP_Port_Policy_Id : constant Corba.PolicyType := 16#54475804# ; "TGX^D"
Protocol_Policy_Id : constant Corba.PolicyType := 16#54475805# ; "TGX^E"
type Thread_Counter is new Long range 0 .. Long'last ;
type Priority_Mode_Policy_Value is (Unchanged, User_Defined) ;
type TCP_Mode_Policy_Value is (Root_Port, Inherited_Port, Own_Port) ;
type ThreadPolicyValue is ( Orb_Ctrl_Model, Single_Thread_Model);
for ThreadPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out ThreadPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in ThreadPolicyValue);
type LifespanPolicyValue is ( Transient, Persistent);
for LifespanPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out LifespanPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in LifespanPolicyValue);
type IdUniquenessPolicyValue is ( Unique_Id, Multiple_Id);
for IdUniquenessPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out IdUniquenessPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in IdUniquenessPolicyValue);
type IdAssignmentPolicyValue is ( User_Id, System_Id);
for IdAssignmentPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out IdAssignmentPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in IdAssignmentPolicyValue);
type ImplicitActivationPolicyValue is
( Implicit_Activation, No_Implicit_Activation);
for ImplicitActivationPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out ImplicitActivationPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in ImplicitActivationPolicyValue);
type ServantRetentionPolicyValue is ( Retain, Non_Retain);
for ServantRetentionPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out ServantRetentionPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in ServantRetentionPolicyValue);
type RequestProcessingPolicyValue is
( Use_Active_Object_Map_Only, Use_Default_Servant, Use_Servant_Manager);
for RequestProcessingPolicyValue'size use 32 ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : out RequestProcessingPolicyValue);
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type;
Item : in RequestProcessingPolicyValue);
type Unicity_Mask is new Unsigned_Long ;
I native Servant;
type Servant_Base is abstract new Corba.Impl.Object with
record
Default_Poa : Corba.Impl.Object_Ptr ;
Activations : Corba.Unsigned_Long := 0 ; Number of POA registrations
Requests : Corba.Unsigned_Long := 0 ; Requests in progress
Unique_Mask : Unicity_Mask := 0 ; POA belonging mask
end record ;
type Servant is access all Servant_Base'Class;
I "values of type Servant support a language-specific
I programming interface that can be used by the ORB to
I obtain a default POA for that servant. This
I interface is used only to support implicit
I activation.”
procedure Get_Default_POA ( For_Servant : access Servant_Base ;
Poa : in out POA_Ref'class) ;
I "Values of type Servant provide default
I implementations of the standard object reference
I operations get_interface, is_a, and non_existent."
procedure Get_Type_Id ( For_Servant : access Servant_Base ;
Type_Id : in out RepositoryId) is abstract ;
function Get_Interface (For_Servant : access Servant_Base)
return Corba.Object.Ref;
procedure Get_Interface ( For_Servant : access Servant_Base ;
Intf : in out Corba.Object.Ref'class) ;
function Is_A ( For_Servant : access Servant_Base;
Logical_Type_ID : in Standard.String) return Boolean;
function Non_Existent (For_Servant : access Servant_Base) return Boolean;
I "Values of type Servant must be testable for identity
function "=" (Left, Right: access Servant_Base) return Boolean ;
All typed skeleton objects implementations derive from the following type
type Typed_Servant_Base is abstract new Servant_Base with null record ;
type Typed_Servant is access all Typed_Servant_Base'class ;
This primitive is used by the POA to invoke an operation on the servant
It is generated by the IDL to Ada compiler
procedure Typed_Skeleton
( Self : access Typed_Servant_Base ;
Request : in Corba.Iop.Request_Header ;
Stream : access Corba_Ios.Iop_Stream_Type) is abstract ;
type Skeleton_Ptr is access procedure
( Self : in Corba.Impl.Object_Ptr ;
Request : in Corba.Iop.Request_Header ;
Stream : access Corba_Ios.Iop_Stream_Type) ;
type Operation_Skeletons is array (Positive range <>) of Skeleton_Ptr ;
function Get_Skeleton
( Request : in Corba.Iop.Request_Header ;
Stream : access Corba_Ios.Iop_Stream_Type ;
Scale : in Corba.Impl.Operation_Signature ;
Signatures : in Corba.Impl.Operation_Signatures ;
Skeletons : in Operation_Skeletons) return Skeleton_Ptr ;
All DSI skeleton objects implementations must derive from the following type
type DSI_Servant_Base is abstract new Servant_Base with null record ;
type DSI_Servant is access all DSI_Servant_Base'class ;
This primitive is used by the POA to invoke an operation on the servant
It is generated by the IDL to Ada compiler
procedure DSI_Skeleton
( Self : access DSI_Servant_Base ;
Object : in Corba.Object.Ref ;
Request : in Corba.Iop.Request_Header_1_2 ;
Stream : access Corba_Ios.Iop_Stream_Type) is abstract ;
NotAGroupObject : exception;
type NotAGroupObject_Members is new Corba.Idl_Exception_Members with null
record;
NotAGroupObject_Id : constant Corba.RepositoryId := Corba.To_Corba_String
("IDL:omg.org/PortableServer/NotAGroupObject:1.0") ;
procedure Get_Members (X : in Ada.Exceptions.Exception_Occurrence ;
To : out NotAGroupObject_Members) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out NotAGroupObject_Members) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in NotAGroupObject_Members) ;
end Corba.PortableServer;
List of definition uses
This page was generated by PrismTech's ada2html on Friday Mai 12 2006 16:18