|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Add_Object_Hyper_Table, seg_0045a5
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Profile; with Directory_Miscellaneous; with Table_Formatter; with Directory_Renames; use Directory_Renames; procedure Add_Object_Hyper_Table (Units : in out Directory_Tools.Object.Iterator; To_Document : in out Abstract_Document.Handle; Response : String := "<PROFILE>") is function Copy (Obj : Object.Handle) return Object.Handle renames Directory_Miscellaneous.Copy; Old_Profile : Profile.Response_Profile := Profile.Get; New_Profile : Profile.Response_Profile; Rows : array (Columns) of Integer; package Table is new Table_Formatter (Rows'Length); Fields : Table.Field_List (1 .. Columns'Pos (Columns'Last) + 1); Bool : Boolean := True; Status : Object.Error_Code; A_Unit : Object.Handle; procedure Add_Item (The_Object : Object.Handle) is Linkage_Object : Object.Handle; Linkage_Objects : Object.Iterator := Object.Create; begin if Include_Object (The_Object) then for C in Columns loop Linkage (For_Column => C, For_Object => The_Object, Linkage => Linkage_Object, Linkage_List => Linkage_Objects); Table.Item (Image (C, The_Object), Object_Linkage => Linkage_Object, Object_Linkage_List => Linkage_Objects, Explanation => Explanation (C, The_Object)); end loop; end if; end Add_Item; procedure Op (Depth : Positive; State : in out Boolean; The_Object : Object.Handle; Status : out Object.Error_Code; Control : in out Traversal.Control_Enumeration) is My_Object : Object.Handle := Copy (The_Object); begin Add_Item (My_Object); Status := Object.Value (Object.Successful, ""); if Continue_Traversal (My_Object) then Control := Traversal.Continue; else Control := Traversal.Skip_Children; end if; end Op; procedure Traverse is new Directory_Tools.Traversal.Recursion (Boolean, Op); begin New_Profile := Profile.Value (Response); Profile.Set (New_Profile); for C in Columns loop Fields (Columns'Pos (C) + 1) := Columns'Pos (C) + 1; Table.Header (Columns'Image (C), Is_Integer => Is_Integer_Valued (C)); end loop; while not Object.Done (Units) loop A_Unit := Object.Value (Units); Add_Item (A_Unit); Traverse (Bool, A_Unit, Status, Worlds => True); Object.Next (Units); end loop; Table.Sort (Fields); Table.Display (To_Document, Table_Title); Profile.Set (Old_Profile); end Add_Object_Hyper_Table;
nblk1=5 nid=0 hdr6=a [0x00] rec0=21 rec1=00 rec2=01 rec3=05c [0x01] rec0=00 rec1=00 rec2=05 rec3=006 [0x02] rec0=19 rec1=00 rec2=02 rec3=060 [0x03] rec0=27 rec1=00 rec2=03 rec3=02e [0x04] rec0=03 rec1=00 rec2=04 rec3=000 tail 0x217002134815c6527ac60 0x42a00088462061e03