DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 27783 (0x6c87) Types: TextFile Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦059497ac5⟧ └─⟦this⟧
with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_Rm; use Xlbt_Rm; with Xlbt_String; use Xlbt_String; with Xlbp_Rm_Quark; use Xlbp_Rm_Quark; pragma Elaborate (Xlbp_Rm_Quark); package Xlbp_Rm_Name is ------------------------------------------------------------------------------ -- X Library Resource Manager - Classes, Names, Representations -- -- Xlbp_Rm_Name - Manager of application/window/object resource names ------------------------------------------------------------------------------ -- Copyright 1989 - 1991 by Rational, Santa Clara, California. -- Copyright 1987 - 1988 by Digital Equipment Corporation, Maynard, Mass. -- Copyright 1987 - 1989 by Massachusetts Institute of Technology, -- Cambridge, Massachusetts. -- -- All Rights Reserved. -- -- Permission to use, copy, modify, and distribute this software and its -- documentation for any purpose and without fee is hereby granted, -- provided that the above copyright notice(s) appear in all copies and that -- both that copyright notice(s) and this permission notice appear in -- supporting documentation, and that the names of Digital, MIT, or Rational -- not be used in advertising or publicity pertaining to distribution of -- the software without specific, written prior permission. -- -- Digital, MIT, and Rational disclaim all warranties with regard to this -- software, including all implied warranties of merchantability and fitness, -- in no event shall Digital, MIT, or Rational be liable for any special, -- indirect or consequential damages or any damages whatsoever resulting from -- loss of use, data or profits, whether in an action of contract, negligence -- or other tortious action, arising out of or in connection with the use or -- performance of this software. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- Resource Manager Classes ------------------------------------------------------------------------------ function X_Rm_Class_To_String (Class : X_Rm_Class) return X_String; ------------------------------------------------------------------------------ -- Class - Specifies the Class whose string value is queried. -- -- Returns the string corresponding to the Class. Returns "" for Class values -- obtained from X_Rm_Unique_Class. Raises Constraint_Error if an -- uninitialized Class value is passed. ------------------------------------------------------------------------------ function X_Rm_String_To_Class (Str : X_String; Validate : Boolean := True) return X_Rm_Class; ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Class. -- The string need not be null terminated. -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Class value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Class (Str : X_String; Ptr : out X_String_Pointer; Class : out X_Rm_Class; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Class. -- The string need not be null terminated. -- Ptr - Receives the string pointer stored in the Class map for Str -- Class - Receives the Class value representing Str -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Class value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. Note: The Ptr value belongs to the Xlib -- and it must not be freed by the application. ------------------------------------------------------------------------------ function X_Rm_Class_To_String_Pointer (Class : X_Rm_Class) return X_String_Pointer; ------------------------------------------------------------------------------ -- Class - Specifies the Class whose string value is queried. -- -- Returns the string corresponding to the Class. Returns "" for Class values -- obtained from X_Rm_Unique_Class. Raises Constraint_Error if an -- uninitialized Class value is passed. Note: This string belongs to the Xlib -- and it must not be freed by the application. Classes generated by -- X_Rm_Unique_Class were not created with a string value and return -- None_X_String_Pointer. ------------------------------------------------------------------------------ procedure X_Rm_String_Pointer_To_Class (Str : in out X_String_Pointer; Class : out X_Rm_Class; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Class. -- The string need not be null terminated. -- Class - Receives the new Class -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Class value that has or which will now correspond to the -- contents of the specified string. If an some existing Class has the same -- string value then that Class, and that string pointer, will be returned. If -- no existing Class has the same string value then a new Class is created and -- returned, and the X_String_Pointer Str argument becomes the property of -- the Xlib and must not be free by the appliation. If Validate is True then -- Constraint_Error will be raised if any characters other than 'a'..'z', -- 'A'..'Z', '0'..'9', '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Class_List is new X_Rm_String_To_Quark_List (X_Rm_Class, None_X_Rm_Class, X_Rm_Class_Array, X_Rm_String_To_Class); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- List - Receives a list of classes; terminated by a None_X_Rm_Class. The -- list must be long enough. -- -- Called with a string of the form ".name1.name2.name3" where the number -- of names in the string must be at least one less than List'Length. Any -- character that is not an Ascii.'.', and Ascii.'*', or an Ascii.Nul is -- taken to be part of a name. Illegal characters in component names -- will cause Constraint_Error to be raised. -- -- For each name in the list the corresponding Class value is placed into -- the class list in the same order as the names appear in the Name string. -- In List, the Class corresponding to the last name will be followed by a -- None_X_Rm_Class entry. (That is why List'Length > number of names.) -- -- Names are separated by one or more dots. The leading separator is -- optional. -- -- Will raise Constraint_Error if the class list is too small. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Binding_Class_List is new X_Rm_String_To_Binding_Quark_List (X_Rm_Class, None_X_Rm_Class, X_Rm_Class_Array, X_Rm_String_To_Class); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- Bindings- Receives a list of binding values indicating '.' and '*' -- separators for the class list. -- List - Receives a list of classes; terminated by a None_X_Rm_Class. The -- list must be long enough. -- -- Called with a string of the form "name1.name2*name3.name4" where the number -- of names in the string must be at least one less than Min( List'Length, -- Bindings'Length+1 ). The legal separators between the names are Ascii.'.' -- and Ascii.'*'. Anything that isn't Ascii.'.', Ascii.'*', or Ascii.Nul is -- taken to be part of a name. -- -- For each name in the list the corresponding Class value is placed into -- the class list in the same order as the names appear in the Name string. -- In List, the Class corresponding to the last name will be followed by a -- None_X_Rm_Class entry. (That is why List'Length > number of names.) -- -- For each entry in the List list there is a Bindings entry. The Binding -- entry indicates that the name was preceded by a '.' (Bind_Tightly), by -- a '*' (Bind_Loosely), or is the first name in the string (Bind_Tightly). -- -- Will raise Constraint_Error if the List or Bindings array is too -- small, or if Name contains illegal characters. ------------------------------------------------------------------------------ function X_Rm_Unique_Class return X_Rm_Class; ------------------------------------------------------------------------------ -- Returns a unique Class that does not correspond to any particular string -- value. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- Resource Manager Names ------------------------------------------------------------------------------ function X_Rm_Name_To_String (Str : X_Rm_Name) return X_String; ------------------------------------------------------------------------------ -- Str - Specifies the Name whose string value is queried. -- -- Returns the string corresponding to the Name. Returns "" for Name values -- obtained from X_Rm_Unique_Name. Raises Constraint_Error if an -- uninitialized Name value is passed. ------------------------------------------------------------------------------ function X_Rm_String_To_Name (Str : X_String; Validate : Boolean := True) return X_Rm_Name; ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Name. -- The string need not be null terminated. -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Name value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Name (Str : X_String; Ptr : out X_String_Pointer; Name : out X_Rm_Name; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Name. -- The string need not be null terminated. -- Ptr - Receives the string pointer stored in the Name map for Str -- Name - Receives the Name value representing Str -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Name value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. Note: The Ptr value belongs to the Xlib -- and it must not be freed by the application. ------------------------------------------------------------------------------ function X_Rm_Name_To_String_Pointer (Name : X_Rm_Name) return X_String_Pointer; ------------------------------------------------------------------------------ -- Str - Specifies the Name whose string value is queried. -- -- Returns the string corresponding to the Name. Returns "" for Name values -- obtained from X_Rm_Unique_Name. Raises Constraint_Error if an -- uninitialized Name value is passed. Note: This string belongs to the Xlib -- and it must not be freed by the application. Names generated by -- X_Rm_Unique_Name were not created with a string value and return -- None_X_String_Pointer. ------------------------------------------------------------------------------ procedure X_Rm_String_Pointer_To_Name (Str : in out X_String_Pointer; Name : out X_Rm_Name; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Name. -- The string need not be null terminated. -- Name - Receives the new Name -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Name value that has or which will now correspond to the -- contents of the specified string. If an some existing Name has the same -- string value then that Name, and that string pointer, will be returned. If -- no existing Name has the same string value then a new Name is created and -- returned, and the X_String_Pointer Str argument becomes the property of -- the Xlib and must not be free by the appliation. If Validate is True then -- Constraint_Error will be raised if any characters other than 'a'..'z', -- 'A'..'Z', '0'..'9', '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Name_List is new X_Rm_String_To_Quark_List (X_Rm_Name, None_X_Rm_Name, X_Rm_Name_Array, X_Rm_String_To_Name); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- List - Receives a list of names; terminated by a None_X_Rm_Name. The -- list must be long enough. -- -- Called with a string of the form ".name1.name2.name3" where the number -- of names in the string must be at least one less than List'Length. Any -- character that is not an Ascii.'.', Ascii.'*', or an Ascii.Nul is -- taken to be part of a name. Illegal characters in component names -- will cause Constraint_Error to be raised. -- -- For each name in the list the corresponding Name value is placed into -- the names list in the same order as the names appear in the Name string. -- In List, the Name corresponding to the last name will be followed by a -- None_X_Rm_Name entry. (That is why List'Length > number of names.) -- -- The leading separator is optional. -- -- Will raise Constraint_Error if the names list is too small. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Binding_Name_List is new X_Rm_String_To_Binding_Quark_List (X_Rm_Name, None_X_Rm_Name, X_Rm_Name_Array, X_Rm_String_To_Name); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- Bindings- Receives a list of binding values indicating '.' and '*' -- separators for the Names list. -- List - Receives a list of Names; terminated by a None_X_Rm_Name. The -- list must be long enough. -- -- Called with a string of the form ".name1.name2*name3" where the number -- of names in the string must be at least one less than Min( List'Length, -- Bindings'Length+1 ). The legal separators between the names are Ascii.'.' -- and Ascii.'*'. Anything that isn't Ascii.'.', Ascii.'*', or Ascii.Nul is -- taken to be part of a name. -- -- For each name in the list the corresponding Name value is placed into -- the names list in the same order as the names appear in the Name string. -- In List, the Name corresponding to the last name will be followed by a -- None_X_Rm_Name entry. (That is why List'Length > number of names.) -- -- For each entry in the names list there is a Bindings entry. The Binding -- entry indicates that the name was preceded by a '.' (Bind_Tightly), by -- a '*' (Bind_Loosely), or is the first name in the string (Bind_Tightly). -- -- Will raise Constraint_Error if the List or Bindings array is too -- small or if Name contains illegal characters. ------------------------------------------------------------------------------ function X_Rm_Unique_Name return X_Rm_Name; ------------------------------------------------------------------------------ -- Returns a unique name that does not correspond to any particular string -- value. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- Resource Manager Representations ------------------------------------------------------------------------------ function X_Rm_Representation_To_String (Rep : X_Rm_Representation) return X_String; ------------------------------------------------------------------------------ -- Rep - Specifies the representation whose string value is queried. -- -- Returns the string corresponding to the Representation. Returns "" for -- Representation values obtained from X_Rm_Unique_Representation. Raises -- Constraint_Error if an uninitialized Representation value is passed. ------------------------------------------------------------------------------ function X_Rm_String_To_Representation (Str : X_String; Validate : Boolean := True) return X_Rm_Representation; ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Representation. -- The string need not be null terminated. -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Representation value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Representation (Str : X_String; Ptr : out X_String_Pointer; Representation : out X_Rm_Representation; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Representation. -- The string need not be null terminated. -- Ptr - Receives the string pointer stored in the Representation map for Str -- Representation - Receives the Representation value representing Str -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Representation value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. Note: The Ptr value belongs to the Xlib -- and it must not be freed by the application. ------------------------------------------------------------------------------ function X_Rm_Representation_To_String_Pointer (Representation : X_Rm_Representation) return X_String_Pointer; ------------------------------------------------------------------------------ -- Representation - Specifies the Representation whose string value is -- queried. -- -- Returns the string corresponding to the Representation. Returns "" for -- Representation values obtained from X_Rm_Unique_Representation. Raises -- Constraint_Error if an uninitialized Representation value is passed. -- Note: This string belongs to the Xlib and it must not be freed by the -- application. Representationes generated by X_Rm_Unique_Representation -- were not created with a string value and return None_X_String_Pointer. ------------------------------------------------------------------------------ procedure X_Rm_String_Pointer_To_Representation (Str : in out X_String_Pointer; Representation : out X_Rm_Representation; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Representation. -- The string need not be null terminated. -- Representation - Receives the Representation value -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Representation value that has or which will now correspond to -- the contents of the specified string. If an some existing Representation -- has the same string value then that Representation, and that string pointer, -- will be returned. If no existing Representation has the same string value -- then a new Representation is created and returned, and the X_String_Pointer -- Str argument becomes the property of the Xlib and must not be free by the -- appliation. If Validate is True then Constraint_Error will be raised if -- any characters other than 'a'..'z', 'A'..'Z', '0'..'9', '-', or '_' are -- present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Representation_List is new X_Rm_String_To_Quark_List (X_Rm_Representation, None_X_Rm_Representation, X_Rm_Representation_Array, X_Rm_String_To_Representation); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- List - Receives a list of Representations; terminated by a -- None_X_Rm_Representation. The list must be long enough. -- -- Called with a string of the form ".name1.name2.name3" where the number -- of names in the string must be at least one less than List'Length. Any -- character that is not an Ascii.'.', Ascii.'*', or an Ascii.Nul is -- taken to be part of a name. Illegal characters in component names -- will cause Constraint_Error to be raised. -- -- For each name in the list the corresponding Representation value is placed -- into the representation list in the same order as the names appear in the -- Name string. In List, the Representation corresponding to the last name -- will be followed by a None_X_Rm_Representation entry. (That is why -- List'Length > number of names.) -- -- The leading separator is optional. -- -- Will raise Constraint_Error if the List list is too small. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Binding_Representation_List is new X_Rm_String_To_Binding_Quark_List (X_Rm_Representation, None_X_Rm_Representation, X_Rm_Representation_Array, X_Rm_String_To_Representation); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- Bindings- Receives a list of binding values indicating '.' and '*' -- separators for the Reps list. -- List - Receives a list of Representations; terminated by a -- None_X_Rm_Representation. The list must be long enough. -- -- Called with a string of the form ".name1.name2*name3" where the number -- of names in the string must be at least one less than Min( List'Length, -- Bindings'Length+1 ). The legal separators between the names are Ascii.'.' -- and Ascii.'*'. Anything that isn't Ascii.'.', Ascii.'*', or Ascii.Nul is -- taken to be part of a name. -- -- For each name in the list the corresponding Representation value is placed -- into the representation list in the same order as the names appear in the -- Name string. In List, the Representation corresponding to the last name -- will be followed by a None_X_Rm_Representation entry. (That is why -- List'Length > number of names.) -- -- For each entry in the representation list there is a Bindings entry. The -- Binding entry indicates that the name was preceded by a '.' (Bind_Tightly), -- by a '*' (Bind_Loosely), or is the first name in the string (Bind_Tightly). -- The leading separator is optional. -- -- Will raise Constraint_Error if the List or Bindings array is too -- small, or if Name contains illegal characters. ------------------------------------------------------------------------------ function X_Rm_Unique_Representation return X_Rm_Representation; ------------------------------------------------------------------------------ -- Returns a unique Representation that does not correspond to any particular -- string value. ------------------------------------------------------------------------------ --\f end Xlbp_Rm_Name;