Specification of package Tgx.Ios.Internal_Ios







 ========================================================================= --
 ===                                                                   === --
 ===                 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 ;

package Tgx.Ios.Internal_Ios is
   type Internal_Connection ;
   type Internal_Access is access all Internal_Connection'class ;

   protected type Synchro is
      pragma Priority (System.Priority'last);

      procedure Set_Owner (This : in Internal_Access) ;

      entry Write ( Buffer  : in System.Address ;
                    Length  : in Natural ) ;
      entry Read ( Buffer  : in System.Address ;
                   Length  : in Natural ) ;

      procedure Stop ;
   private
      entry Wait ( Buffer  : in System.Address ;
                   Length  : in Natural ) ;
      Free    : Boolean := False ;
      Fed     : Boolean := False ;
      Done    : Boolean := False ;
      Owner   : Internal_Access ;
   end Synchro ;

   type Internal_Connection is new Io_Connection with
   record
       Corresponding connection
      Twin    : Internal_Access ;
      Buffer  : System.Address ;  Read buffer
      Length  : Natural ;  Read length
      Sync    : Synchro ;
   end record ;

   procedure Open (This : access Internal_Connection) ;

   procedure Close (This : access Internal_Connection) ;

   procedure Read ( This   : access Internal_Connection ;
                    Buffer : in System.Address ;
                    Number : in out Natural ) ;

   procedure Write ( This   : access Internal_Connection ;
                     Buffer : in System.Address ;
                     Number : in Natural ) ;

   function Bytes_Per_Io_Unit (This : access Internal_Connection)
      return Natural ;

   function Amount_Readable (This : access Internal_Connection)
      return Natural ;

    Returns the URL indicating the sending client
   function Url (Client   : access Internal_Connection)
      return Standard.String ;

   type Internal_Server is new Io_Server with
   record
      Client  : Internal_Access ;
   end record ;

   type Internal_Server_Access is access all Internal_Server'class ;

   procedure Open (This : access Internal_Server) ;

   procedure Close (This : access Internal_Server) ;

   procedure New_Connection ( Server   : access Internal_Server ;
                              No_Guard : in Boolean := True;
                              Result   : in out Io_Connection_Access);

   function Url (Server : access Internal_Server) return Standard.String ;
end Tgx.Ios.Internal_Ios ;



List of definition uses










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