Specification of generic package Tgx.Named_Data







 ========================================================================= --
 ===                                                                   === --
 ===                 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 Ada.Strings.Unbounded ;
generic
   type Object is private ;
   Null_Object : in Object ;
   type String is new Ada.Strings.Unbounded.Unbounded_String ;
package Tgx.Named_Data is
   Bad_Quark : exception ;
   Database_Is_Null : exception ;

   Null_String : constant String :=
      String (Ada.Strings.Unbounded.Null_Unbounded_String) ;

   type Quark_Type is new Natural ;
   Null_Quark : constant Quark_Type := 0 ;

   type Database is private ;
   Null_Database : constant Database ;

   function Default_Database return Database ;
   pragma Inline (Default_Database) ;

   procedure Create_Database (Base : in out Database) ;

   procedure Clear (Base : in Database := Default_Database) ;

   procedure Destroy (Base : in out Database) ;

   function Quark_Of ( Name          : in String ;
                       Only_If_Exist : in Boolean := True ;
                       Base          : in Database := Default_Database)
      return Quark_Type ;

   function Quark_Of ( Name          : in Standard.String ;
                       Only_If_Exist : in Boolean := True ;
                       Base          : in Database := Default_Database)
      return Quark_Type ;

   function Name_Of ( Quark : in Quark_Type ;
                      Base  : in Database := Default_Database) return String ;

   function Number_Of_Objects (Base  : in Database := Default_Database)
      return Quark_Type ;

   procedure Store ( Name : in String ;
                     Data : in Object ;
                     Base : in Database := Default_Database ) ;

   procedure Store ( Name : in Standard.String ;
                     Data : in Object ;
                     Base : in Database := Default_Database ) ;

   procedure Store ( Quark : in Quark_Type ;
                     Data  : in Object ;
                     Base  : in Database := Default_Database ) ;

   function Get ( Name : in String ;
                  Base : in Database := Default_Database) return Object ;

   function Get ( Name : in Standard.String ;
                  Base : in Database := Default_Database) return Object ;

   function Get ( Quark : in Quark_Type ;
                  Base  : in Database := Default_Database) return Object ;

   generic
      with procedure Job ( Name : in String ;
                           Data : in Object ) ;
   procedure Do_On_All_Names (Base : in Database := Default_Database) ;

   generic
      type Data_Type is limited private ;
      with procedure Update ( This : in out Object ;
                              Data : in out Data_Type) ;
   procedure Name_Update ( Name : in String ;
                           Data : in out Data_Type ;
                           Base : in Database := Default_Database) ;

   generic
      type Data_Type is limited private ;
      with procedure Update ( This : in out Object ;
                              Data : in out Data_Type) ;
   procedure Quark_Update ( Quark : in Quark_Type ;
                            Data  : in out Data_Type ;
                            Base  : in Database := Default_Database) ;

   generic  returns "" if not found
      with function Check (Data : in Object ) return Boolean ;
   function Name_Matching (Base : in Database := Default_Database)
      return String ;

   generic  returns Null_Quark if not found
      with function Check (Data : in Object ) return Boolean ;
   function Quark_Matching (Base : in Database := Default_Database)
      return Quark_Type ;

   generic  returns Null_Object if not found
      with function Check (Data : in Object ) return Boolean ;
   function Object_Matching (Base : in Database := Default_Database)
      return Object ;

private
   type Database_Record ;
   type Database is access all Database_Record ;
   Null_Database : constant Database := null ;
end Tgx.Named_Data ;



List of definition uses










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