Specification of package Corba.Value
========================================================================= --
=== === --
=== 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. === --
=== === --
========================================================================= --
with Ada.Finalization ;
with Corba_Ios ;
with Corba.AbstractBase ;
with Corba.Impl ;
with Corba.Iop ;
pragma Elaborate_All (Corba.AbstractBase) ;
package Corba.Value is
type Base is new Corba.AbstractBase.Ref with null record;
function Is_A ( Self : in Base ;
Logical_Id : in Standard.String ) return Boolean ;
type Impl_Base is abstract new Corba.Impl.Object with null record ;
type Impl_Base_Ptr is access all Impl_Base'class ;
function Get_RepositoryId (Self : access Impl_Base)
return RepositoryId is abstract ;
function Is_A ( Self : access Impl_Base ;
Id : in RepositoryId )
return Boolean is abstract ;
TGX: ValueDef transformed to AbstractBase to avoid extra dependencies
TGX: but the value returned can be safely narrowed to ValueDef.Ref
function Get_Value_Def (Self : in Base) return Corba.AbstractBase.Ref ;
TGX: Constructor of a new value
TGX: If Self is not null, the new value implementation is initialized
TGX: with the given value contents
procedure Initializer (Self : in out Base) ;
procedure Iop_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : out Base ) ;
procedure Iop_Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : in Base ) ;
Custom marshalling procedures
(need to be overwritten by custom value implementations)
procedure Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : access Impl_Base ) ;
procedure Write
( Stream : access Corba_Ios.Iop_Stream_Type ;
Item : access Impl_Base ) ;
Null_Base : constant Base := ( Ada.Finalization.Controlled with
Ptr => null,
Location => Corba.Iop.Value,
IOP => null) ;
TGX: Registration of value readers
type Value_Reader is access function
( Stream : access Corba_Ios.Iop_Stream_Type ;
Start : in Corba_Ios.Stream_Element_Offset) return Impl_Base_Ptr ;
procedure Register ( Id : in Standard.String ;
Reader : in Value_Reader) ;
type Value_Writer is access procedure
( Stream : access Corba_Ios.Iop_Stream_Type ;
Value : in Impl_Base_Ptr) ;
procedure Register ( Id : in Standard.String ;
Writer : in Value_Writer ) ;
function Impl_Read
( Stream : access Corba_Ios.Iop_Stream_Type ;
Actual : in Value_Reader) return Corba.Impl.Object_Ptr ;
procedure Set_Chunk_Start (Stream : access Corba_Ios.Iop_Stream_Type) ;
procedure Set_Chunk_Size (Stream : access Corba_Ios.Iop_Stream_Type) ;
procedure Set_Value_Start ( Stream : access Corba_Ios.Iop_Stream_Type ;
Start : in Corba_Ios.Stream_Element_Offset ;
Ptr : in Corba.Impl.Object_Ptr) ;
function Get_Value_Start ( Stream : access Corba_Ios.Iop_Stream_Type ;
Ptr : in Corba.Impl.Object_Ptr)
return Corba_Ios.Stream_Element_Offset ;
end Corba.Value;
List of definition uses
This page was generated by PrismTech's ada2html on Friday Mai 12 2006 16:18