--| --|Item: Ada PCTE Binding --|$Revision: 0.2 $ --|$State: Prototype $ --| --|The Version Description Document (VDD) included with this release provides --|detailed information regarding the condition of the software. The "User --|Feedback" section of the VDD describes how to obtain additional information. --| --|Distribution Statement "A", per DoD Directive 5230.24 --|Authorized for public release; distribution is unlimited. --| --|Copyright (c) 1992, Paramax Systems Corporation, Reston, Virginia --|Copyright is assigned to the U.S. Government, upon delivery thereto, --|in accordance with the DFAR Special Works Clause. --| --|Developed by: Paramax Systems Corporation, --| --|This software, developed under the Software Technology for Adaptable, --|Reliable Systems (STARS) program, is approved for release under --|Distribution "A" of the Scientific and Technical Information Program --|Classification Scheme (DoD Directive 5230.24) unless otherwise indicated. --|Sponsored by the U.S. Defense Advanced Research Projects Agency (DARPA) --|under contract F19628-88-D-0031, the STARS program is supported by the --|military services, SEI, and MITRE, with the U.S. Air Force as the executive --|contracting agent. --| --|Permission to use, copy, modify, and comment on this software and its --|documentation for purposes stated under Distribution "A" and without fee --|is hereby granted, provided that this notice appears in each whole or --|partial copy. This software retains Contractor indemnification to --|the Government regarding copyrights pursuant to the above referenced --|STARS contract. The Government disclaims all responsibility against --|liability, including costs and expenses for violation of proprietary --|rights, or copyrights arising out of the creation or use of this --|software. --| --|In addition, the Government, Paramax, and its subcontractors disclaim all --|warranties with regard to this software, including all implied warranties --|of merchantability and fitness, and in no event shall the Government, --|Paramax, or its subcontractor(s) be liable for any special, indirect or --|consequential damages or any damages whatsoever resulting from the loss of --|use, data, or profits, whether in action of contract, negligence or other --|tortious action, arising in connection with the use or performance of this --|software. --| --|$Log $ --| -- Version Information -- ^^^^^^^^^^^^^^^^^^^ -- -- PCTE - Ada Language Interface. -- Version: 0.2. -- Release Date: November 30, 1992. -- Compiled under SUN OS 4.1.2 using SunAda 1.0 -- -- -- General Information -- ^^^^^^^^^^^^^^^^^^^ -- -- This is an alpha release of the Paramax STARS Ada binding to Emeraude's -- PCTE 1.5 using the ECMA PCTE Ada binding specifications. The binding -- is incomplete in this release. See the Version Description Document -- provided with this alpha release for information on which interfaces -- have been implemented. It is expected that future releases will -- expand the number of interfaces implemented. The interfaces defined -- herein are subject to change. -- -- For further information, contact the authors: -- -- -- Robert Smith -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- smith@prc.unisys.com (current) -- smith@vfl.paramax.com (future) -- +1 215 648-2402 -- -- Michael Horton -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- horton@prc.unisys.com (current) -- horton@vfl.paramax.com (future) -- +1 215 648-2527 -- -- with Pcte, Pcte_error; --% NOTE: The following subpackage will be at least partially supported by --% Ada binding to PCTE 1.5 package Pcte_link is use Pcte, Pcte.calendar, Pcte_error; type volume_status is (ACCESSIBLE, INACCESSIBLE, UNKNOWN); -- Pcte_link.volume_status corresponds to the PCTE datatype of the -- result mounted of the PCTE operation LINK_GET_DESTINATION_VOLUME. type volume is record identity : Pcte.natural; mounted : volume_status; end record ; -- Pcte_link.volume corresponds to the types of the results of the -- abstract operation LINK_GET_DESTINATION_VOLUME. -- 9.2.1 LINK_CREATE --% procedure create will not be implemented in binding to PCTE 1.5 procedure create ( origin : in Pcte.object_reference; link : in Pcte.link_reference; dest : in Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.2.2 LINK_DELETE --% procedure delete will not be implemented in binding to PCTE 1.5 procedure delete ( origin : in Pcte.object_reference; link : in Pcte.link_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.2.3 LINK_GET_ATTRIBUTE -- LINK_GET_ATTRIBUTE is mapped to overloaded versions of the function -- Pcte_link.get_attribute, one for each possible type of the result. -- If the type of the result of the particular overloaded function that -- is used is different from the type of its parameter attribute, -- then the error VALUE_TYPE_IS_INVALID is raised. --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.boolean; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.integer; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.natural; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.float; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.calendar.time; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.enumeration_item; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; link : Pcte.link_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.string; -- 9.2.4 LINK_GET_DESTINATION_VOLUME --% function get_destination_volume will not be implemented in binding to PCTE 1.5 function get_destination_volume ( origin : Pcte.object_reference; link : Pcte.link_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte_link.volume; -- The volume and mounted values are returned respectively in the identity -- and mounted fields of the Pcte_link.volume result record. -- 9.2.5 LINK_GET_KEY --% procedure get_key will be implemented in binding to PCTE 1.5 function get_key ( origin : Pcte.object_reference; link : Pcte.link_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.string; -- 9.2.6 LINK_GET_REVERSE --% procedure get_reverse will not be implemented in binding to PCTE 1.5 function get_reverse ( origin : Pcte.object_reference; link : Pcte.link_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.string; -- 9.2.7 LINK_GET_SEVERAL_ATTRIBUTES -- These subprograms are construct subprograms for the datatype -- Pcte.attribute_assignments.sequence; -- any existing value of the parameter values are discarded. -- The effect of assigning IN_WORKING_SCHEMA to the parameter visibility -- is achieved by the first overloaded subprogram; -- the effect of assigning set of Attribute_designator to the -- parameter visibility is achieved by the second overloaded subprogram. --% procedure get_several_attributes will be implemented in binding to PCTE 1.5 procedure get_several_attributes ( object : in Pcte.object_reference; link : in Pcte.link_reference; values : in out Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure get_several_attributes will be implemented in binding to PCTE 1.5 procedure get_several_attributes ( object : in Pcte.object_reference; link : in Pcte.link_reference; attributes : in Pcte.attribute_references.sequence; values : in out Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.2.8 LINK_REPLACE --% procedure replace will be implemented in binding to PCTE 1.5 procedure replace ( origin : in Pcte.object_reference; link : in Pcte.link_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; new_reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.2.9 LINK_SET_ATTRIBUTE -- LINK_SET_ATTRIBUTE is mapped to overloaded versions of the procedure -- Pcte_link.set_attribute, -- one for each possible type of the parameter value. -- If the type of the parameter value of the particular overloaded procedure -- that is used is different from the type of its parameter attribute, -- then the error VALUE_TYPE_IS_INVALID is raised. -- The effect of not supplying the optional parameter value is obtained -- by calling the procedure Pcte_link.reset_attribute. --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.boolean := FALSE; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.integer := 0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.natural := 0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.float := 0.0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.string := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.calendar.time := DEFAULT_TIME; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; value : in Pcte.enumeration_item; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure reset_attribute will be implemented in binding to PCTE 1.5 procedure reset_attribute ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attribute : in Pcte.attribute_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.2.10 LINK_SET_SEVERAL_ATTRIBUTES --% procedure set_several_attributes will not be implemented in binding to PCTE 1.5 procedure set_several_attributes ( origin : in Pcte.object_reference; link : in Pcte.link_reference; attributes : in Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 11.2.5 LINK_GET_DESTINATION_ARCHIVE --% function get_destination_archive will not be implemented in binding to PCTE 1.5 function get_destination_archive ( origin : Pcte.object_reference; link : Pcte.link_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.natural; end Pcte_link; --% NOTE: The following subpackage will be at least partially supported by --% Ada binding to PCTE 1.5 with Pcte, Pcte_error, Pcte_discretionary; package Pcte_object is use Pcte, Pcte.calendar, Pcte_error; type type_ancestry is (EQUAL, ANCESTOR, DESCENDANT, UNRELATED); -- Pcte_object.type_ancestry corresponds to the PCTE datatype -- of the result of OBJECT_CHECK_TYPE. type link_descriptor (link_length : Pcte.string_length := 0) is record origin : Pcte.object_reference; link : Pcte.string(1..link_length); end record ; package link_descriptors is new Pcte.sequence (link_descriptor); -- Pcte_object.link_descriptors.sequence corresponds to the -- PCTE datatype of the result of OBJECT_LIST_LINKS. -- The Object_designator and Link_designator parts of the elements of the -- result set of product are returned respectively in the origin and -- link fields of the Pcte_object.link_descriptor elements of the -- Pcte_object.link_descriptors.sequence result. type extent is (INTERNAL, EXTERNAL, ALL_LINKS); -- Pcte_object.extent corresponds to the PCTE datatype of -- the parameter extent of OBJECT_LIST_LINKS. -- 9.3.1 OBJECT_CHECK_TYPE --% function check_type will not be implemented in binding to PCTE 1.5 function check_type ( object : Pcte.object_reference; pcte_type : Pcte.type_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte_object.type_ancestry; -- 9.3.2 OBJECT_CONVERT --% procedure convert will not be implemented in binding to PCTE 1.5 procedure convert ( object : in Pcte.object_reference; pcte_type : in Pcte.type_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.3 OBJECT_COPY -- The effect of not providing the optional -- on_same_volume_as parameter is achieved by the first overloaded subprogram. -- The effect of not providing the optional -- reverse_key parameter is achieved by providing the empty string. --% procedure copy will be implemented in binding to PCTE 1.5 procedure copy ( object : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_object : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure copy will not be implemented in binding to PCTE 1.5 procedure copy ( object : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_object : in out Pcte.object_reference; on_same_volume_as : in Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.4 OBJECT_CREATE -- The effect of not providing the optional -- on_same_volume_as parameter is achieved by the first overloaded subprogram. -- The effect of not providing the optional -- reverse_key parameter is achieved by providing the empty string. --% procedure create will be implemented in binding to PCTE 1.5 procedure create ( pcte_type : in Pcte.type_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_object : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure create will not be implemented in binding to PCTE 1.5 procedure create ( pcte_type : in Pcte.type_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_object : in out Pcte.object_reference; on_same_volume_as : in Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.5 OBJECT_DELETE --% procedure delete will be implemented in binding to PCTE 1.5 procedure delete ( object : in Pcte.object_reference; link : in Pcte.link_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.6 OBJECT_GET_ATTRIBUTE -- OBJECT_GET_ATTRIBUTE is mapped to overloaded versions of the function -- Pcte_object.get_attribute, one for each possible type of the result. -- If the type of the result of the particular overloaded function -- that is used is different from the type of its parameter attribute, -- then the error VALUE_TYPE_IS_INVALID is raised. --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.boolean; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.natural; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.integer; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.float; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.calendar.time; --% function get_attribute will be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.string; --% function get_attribute will not be implemented in binding to PCTE 1.5 function get_attribute ( object : Pcte.object_reference; attribute : Pcte.attribute_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.enumeration_item; -- 9.3.7 OBJECT_GET_PREFERRED_KEY --% procedure get_preferred_key will not be implemented in binding to PCTE 1.5 function get_preferred_key ( object : Pcte.object_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.string; -- 9.3.8 OBJECT_GET_SEVERAL_ATTRIBUTES -- These subprograms are construct subprograms for the datatype -- Pcte.attribute_assignments.sequence; -- any existing value of the in parameter is discarded. -- The effect of assigning IN_WORKING_SCHEMA to the parameter visibility -- is achieved by the first overloaded subprogram; -- the effect of assigning set of Attribute_designator to the -- parameter visibility is achieved by the second overloaded subprogram. --% procedure get_several_attributes will be implemented in binding to PCTE 1.5 procedure get_several_attributes ( object : in Pcte.object_reference; values : in out Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure get_given_attributes will not be implemented in binding to PCTE 1.5 procedure get_several_attributes ( object : in Pcte.object_reference; attributes : in Pcte.attribute_references.sequence; values : in out Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.9 OBJECT_GET_TYPE --% procedure get_type will be implemented in binding to PCTE 1.5 function get_type ( object : Pcte.object_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.type_reference; -- 9.3.10 OBJECT_IS_COMPONENT --% function is_component will be implemented in binding to PCTE 1.5 function is_component ( object1 : Pcte.object_reference; object2 : Pcte.object_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.boolean; -- 9.3.11 OBJECT_LIST_LINKS -- The effect of assigning ALL to the parameter visibility is -- achieved by one of the operations list_all_xxx_links. The -- effect of assigning IN_WORKING_SCHEMA to the parameter visibility is -- achieved by one of the operations list_visible_xxx_links. The -- effect of assigning a set of link type designators to the parameter -- visibility is achieved by one of the operations -- list_given_xxx_links. The effect of assigning INTERNAL to the -- parameter extent is is achieved by one of the operations -- list_yyy_internal_links. The effect of assigning EXTERNAL to the -- parameter extent is is achieved by one of the operations -- list_yyy_external_links. The effect of assigning ALL to the -- parameter extent is is achieved by one of the operations -- list_yyy_links. --% procedure list_visible_links will be implemented in binding to PCTE 1.5 procedure list_visible_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_visible_external_links will not be implemented in binding to PCTE 1.5 procedure list_visible_external_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_visible_internal_links will not be implemented in binding to PCTE 1.5 procedure list_visible_internal_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_given_links will not be implemented in binding to PCTE 1.5 procedure list_given_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_given_external_links will not be implemented in binding to PCTE 1.5 procedure list_given_external_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_given_internal_links will not be implemented in binding to PCTE 1.5 procedure list_given_internal_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure list_all_links will be implemented in binding to PCTE 1.5 procedure list_all_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); procedure list_all_external_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); procedure list_all_internal_links ( origin : in Pcte.object_reference; extent : in Pcte_object.extent; scope : in Pcte.object_scope; categories : in Pcte.set_of_categories; link_types : in Pcte.type_references.sequence; links : in out Pcte_object.link_descriptors.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.12 OBJECT_MOVE --% procedure move will not be implemented in binding to PCTE 1.5 procedure move ( object : in Pcte.object_reference; on_same_volume_as : in Pcte.object_reference; scope : in Pcte.object_scope; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.13 OBJECT_SET_ATTRIBUTE -- OBJECT_SET_ATTRIBUTE is mapped to overloaded versions of the procedure -- Pcte_object.set_attribute, -- one for each possible type of the parameter value. -- If the type of the parameter value of the particular overloaded procedure -- that is used is different from the type of its parameter attribute, -- then the error VALUE_TYPE_IS_INVALID is raised. -- The effect of not supplying the optional parameter value is obtained -- by calling the procedure Pcte_object.reset_attribute. --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.boolean := FALSE; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.natural := 0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.integer := 0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.float := 0.0; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.calendar.time := DEFAULT_TIME; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.string := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_attribute will not be implemented in binding to PCTE 1.5 procedure set_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; value : in Pcte.enumeration_item; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure reset_attribute will not be implemented in binding to PCTE 1.5 procedure reset_attribute ( object : in Pcte.object_reference; attribute : in Pcte.attribute_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.14 OBJECT_SET_PREFERENCE -- The effect of providing both the optional parameter type and the -- optional parameter key is obtained by the first overloaded subprogram. -- The effect of providing the optional parameter type and not providing -- the optional parameter key is obtained by the second overloaded subprogram. -- The effect of not providing the optional parameter type and providing -- the optional parameter key is obtained by the third overloaded subprogram. -- The effect of providing neither the optional parameter type nor the -- optional parameter key is obtained by the procedure Pcte_object.unset_preference. --% procedure set_preference will not be implemented in binding to PCTE 1.5 procedure set_preference ( object : in Pcte.object_reference; pcte_type : in Pcte.type_reference; key : in Pcte.key; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_preference will not be implemented in binding to PCTE 1.5 procedure set_preference ( object : in Pcte.object_reference; pcte_type : in Pcte.type_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure set_preference will not be implemented in binding to PCTE 1.5 procedure set_preference ( object : in Pcte.object_reference; key : in Pcte.key; status : in Pcte_error.handle := EXCEPTION_ONLY); --% procedure unset_preference will not be implemented in binding to PCTE 1.5 procedure unset_preference ( object : in Pcte.object_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.15 OBJECT_SET_SEVERAL_ATTRIBUTES --% procedure set_several_attributes will not be implemented in binding to PCTE 1.5 procedure set_several_attributes ( object : in Pcte.object_reference; attributes : in Pcte.attribute_assignments.sequence; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.3.16 VOLUME_LIST_OBJECTS -- See 11.2. end Pcte_object; --% NOTE: The following subpackage will not be supported by --% Ada binding to PCTE 1.5 with Pcte, Pcte_error, Pcte_discretionary; package Pcte_version is use Pcte, Pcte_error; type relationship is ( ANCESTOR, DESCENDANT, EQUAL, COMMON_ANCESTOR, UNRELATED); -- Pcte_version.ancestry corresponds to the -- PCTE datatype of the result ancestry of -- VERSION_TEST_ANCESTRY and the result -- descent of VERSION_TEST_DESCENT. -- 9.4.1 VERSION_ADD_PREDECESSOR procedure add_predecessor ( version : in Pcte.object_reference; new_predecessor : in Pcte.object_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.4.2 VERSION_IS_CHANGED function is_changed ( version : Pcte.object_reference; predecessor : Pcte.key; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte.boolean; -- 9.4.3 VERSION_REMOVE procedure remove ( version : in Pcte.object_reference; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.4.4 VERSION_REVISE -- The effect of not providing the optional parameter -- on_same_volume_as is achieved by the second overloaded subprogram. -- The effect of not providing the optional parameter reverse_key is -- achieved by providing the empty string. procedure revise ( version : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; on_same_volume_as : in Pcte.object_reference; access_mask : in Pcte_discretionary.object.access_rights; new_version : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); procedure revise ( version : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_version : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.4.5 VERSION_SNAPSHOT -- The effect of not providing the optional parameter -- on_same_volume_as is achieved by the second overloaded subprogram. -- The effect of not providing the optional parameter reverse_key is -- achieved by providing the empty string. procedure snapshot ( version : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; on_same_volume_as : in Pcte.object_reference; access_mask : in Pcte_discretionary.object.access_rights; new_version : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); procedure snapshot ( version : in Pcte.object_reference; new_origin : in Pcte.object_reference; new_link : in Pcte.link_reference; access_mask : in Pcte_discretionary.object.access_rights; new_version : in out Pcte.object_reference; reverse_key : in Pcte.key := ""; status : in Pcte_error.handle := EXCEPTION_ONLY); -- 9.4.6 VERSION_TEST_ANCESTRY function test_ancestry ( version1 : Pcte.object_reference; version2 : Pcte.object_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte_version.relationship; -- 9.4.6 VERSION_TEST_DESCENT function test_descent ( version1 : Pcte.object_reference; version2 : Pcte.object_reference; status : Pcte_error.handle := EXCEPTION_ONLY) return Pcte_version.relationship; end Pcte_version;