Specification of package Corba.Orb







 ========================================================================= --
 ===                                                                   === --
 ===                 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 Corba.Nvlist;
with Corba.AbstractBase ;
with Corba.Object;
with Corba.Policy;
with Corba.Context;
with Corba.Iop ;
with Corba.Impl ;
with Corba.Intern ;
with Corba.Idl_Sequence_ObjectId ;
with Corba.Idl_Sequence_String ;
with Ada.Exceptions ;
package Corba.Orb is
    Orb initialization
   type Orbid is new String ;
   Null_Orbid : constant Orbid := Orbid (Null_String);

   type Arg_List is new Corba.Idl_Sequence_String.Sequence ;

   Null_Arg_List : constant Arg_List := Arg_List
      (Corba.Idl_Sequence_String.Null_Sequence) ;

   procedure Orb_Init ( Argv           : in Arg_List ;
                        Orb_Identifier : in Orbid ) ;

   type Oaid is new String ;

   type Objectidlist is new Corba.Idl_Sequence_ObjectId.Sequence ;

   Null_Objectidlist : constant Objectidlist := Objectidlist
      (Corba.Idl_Sequence_ObjectId.Null_Sequence) ;

   Invalidname : exception ;

   function List_Initial_Services return Objectidlist ;

   procedure Repository (IR : in out Corba.Object.Ref'class) ;

   procedure Register_Initial_Reference
      ( Id     : in Objectid ;
        Object : in Corba.AbstractBase.Ref'class) ;

   procedure Register_Initial_Reference
      ( Id     : in Standard.String ;
        Object : in Corba.AbstractBase.Ref'class) ;

   procedure Add_Initial_Reference
      ( Identifier : in Objectid ;
        Object     : in Corba.AbstractBase.Ref'class)
      renames Register_Initial_Reference ;

   procedure Resolve_Initial_References
      ( Identifier : in Objectid ;
        Result     : in out Corba.AbstractBase.Ref'class) ;

   procedure Resolve_Initial_References
      ( Identifier : in Standard.String ;
        Result     : in out Corba.AbstractBase.Ref'class) ;

        string object_to_string ( in Object obj);
   function Object_To_String
      ( Obj  : in Corba.Object.Ref'Class) return Corba.String;

   function Object_To_String
      ( Obj  : in Corba.Object.Ref'Class) return Standard.String;

        Object string_to_object ( in string str);
   function String_To_Object (Str  : in Corba.String) return Corba.Object.Ref;

   function String_To_Object (Str : in Standard.String) return Corba.Object.Ref;

   procedure String_To_Object ( From  : in Standard.String ;
                                To    : in out Corba.Object.Ref'class);
   procedure String_To_Object ( From  : in Corba.String ;
                                To    : in out Corba.Object.Ref'class);

        Status create_list ( 
         in long count,
         out NVList new_list
        );
   procedure Create_List ( Count    : in Corba.Long;
                           New_List : out Corba.Nvlist.Object;
                           Result   : out Status);
        Status get_default_context ( out Context ctx);
   procedure Get_Default_Context
      ( Ctx    : out Corba.Context.Object;
        Result : out Status);

   procedure Run ;

   TGX: This switch the ORB to "main thread" model allowing the use of Work_Pending and Perform_Work.
   procedure Set_Main_Thread_Control (On : in Boolean) ;

   function Work_Pending return Boolean ;

   procedure Perform_Work ;

   procedure Shutdown (Wait_For_Completion : in Boolean);

   TGX: This stops the ORB processing; applications using this ORB
   TGX: need to call Orb_Init to get a new access to the orb.
   procedure Stop ( Self    : in Corba.Orb_Identity := 0 ;
                    For_All : in Boolean := True) ;

    Policy creation operations
   function Create_Policy ( Of_Type : in PolicyType ;
                            Val     : in Any) return CORBA.Policy.Ref ;

   type Policy_Factory is access function (Val : in Any)
      return CORBA.Policy.Ref ;

    Policy factory registration
   procedure Register_Policy_Factory ( Factory : in Policy_Factory ;
                                       Of_Type : in PolicyType) ;

    Exception operations :
   procedure Raise_Exception ( Userid : in RepositoryId;
                               Param  : in Idl_Exception_Members'Class ) ;

   procedure Raise_System_Exception ( Userid    : in RepositoryId;
                                      Completed : in Completion_Status ;
                                      Minor     : in Corba.Unsigned_Long) ;

    Transform a reply exception into an any (for AMI exception holders)
   procedure Read_Exception
      ( Stream    : access Corba_Ios.Iop_Stream_Type ;
        Except    : in out Corba.Any ;
        Except_Id : out Ada.Exceptions.Exception_Id ;
        Is_System : out Boolean ) ;

    Register an exception
   procedure Register_Exception
      ( Name : in Repositoryid ;
        Code : in Corba.Typecode.Object ;
        Id   : in Ada.Exceptions.Exception_Id ;
        Sys  : in Boolean := False ) ;

   procedure Read_And_Raise_Exception
      (Stream : access Corba_Ios.Iop_Stream_Type) ;

    Semi-private operations
   function Get (Obj : in Corba.Object.Ref'class) return Corba.Orb_Identity ;

   function Allocate_Request (Self : in Corba.Orb_Identity)
      return Corba.Iop.Request_Id ;

   procedure Client_Receive ( Self    : in Corba.Orb_Identity ;
                              Request : in Corba.Iop.Request_Id ;
                              Data    : in out Corba_Ios.Controlled_Stream) ;

   procedure Client_Receive ( Self    : in Corba.Orb_Identity ;
                              Request : in Corba.Iop.Request_Id ;
                              Stream  : access Corba_Ios.Iop_Stream_Type) ;

   procedure Client_Send ( Self    : in Corba.Orb_Identity ;
                           Stream  : access Corba_Ios.Iop_Stream_Type) ;

   procedure Client_Send_And_Receive
      ( Request  : out Corba.Iop.Request_Id ;
        Stream   : access Corba_Ios.Iop_Stream_Type ) ;

   procedure Client_Send_And_Receive
      ( Self     : in Corba.AbstractBase.Ref'class ;
        Request  : in out Corba.Intern.Request_Info ;
        Stream   : access Corba_Ios.Iop_Stream_Type ) ;

   procedure Write_Request
      ( Self              : in Corba.Object.Ref'class ;
        Response_Expected : in Corba.Boolean ;
        Operation         : in Standard.String ;
        Stream            : access Corba_Ios.Iop_Stream_Type ;
        Contexts          : in Corba.Iop.Service_Context_List :=
           Corba.Iop.Null_Service_Context_List) ;

   procedure Write_Request
      ( Self              : in Corba.AbstractBase.Ref'class ;
        Request           : in out Corba.Intern.Request_Info ;
        Stream            : access Corba_Ios.Iop_Stream_Type ;
        Swap              : in Boolean := False ;
        Contexts          : in Corba.Iop.Service_Context_List :=
           Corba.Iop.Null_Service_Context_List) ;

   procedure Write_Reply
      ( Stream    : access Corba_Ios.Iop_Stream_Type ;
        Id        : in Corba.Iop.Request_Id ;
        Status    : in Corba.Iop.Reply_Status_Type ;
        Contexts  : in Corba.Iop.Service_Context_List :=
           Corba.Iop.Null_Service_Context_List ) ;

   procedure Write_Reply
      ( Stream    : access Corba_Ios.Iop_Stream_Type ;
        Reply     : in out Corba.Intern.Reply_Info ;
        Contexts  : in Corba.Iop.Service_Context_List :=
           Corba.Iop.Null_Service_Context_List ) ;

   procedure Get_Address ( Data   : in Corba_Ios.Stream_Element_Array ;
                           Index  : in Corba_Ios.Stream_Element_Offset ;
                           Orb_Id : out Corba.Orb_Identity ;
                           Remote : out Corba.Service_Identity ) ;

   function Host_Name (Id : in Corba.Orb_Identity) return Standard.String ;

   function Host_Ip (Id : in Corba.Orb_Identity) return Standard.String ;

   function Tcp_Port (Id : in Corba.Orb_Identity)
      return Corba.Unsigned_Short ;

   function Host_Name return Standard.String ;

   function Host_Ip return Standard.String ;

end Corba.Orb;




List of definition uses










This page was generated by PrismTech's ada2html on Friday Mai 12 2006 16:18