DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦184f179c2⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Rcf_Switch_Implementation, seg_03be73

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Profile;
with Debug_Tools;
with Log;
with Switch_Implementation;
with System;
package body Rcf_Switch_Implementation is

    package Si     renames Switch_Implementation;
    package Naming renames Directory.Naming;

    subtype Field_Enum is Natural;

    Target_Key_Suffix : constant String := "";

    function Switch_Class_Name return String is
    begin
        return "Rcf" & Target_Key_Suffix;
    end Switch_Class_Name;

    function Get_Switch_File (Switch_File_Obj : Directory.Object)
                             return Directory.Version is
        Switch_File : Directory.Version;
        E_Status    : Directory.Error_Status;
        N_Status    : Naming.Name_Status;
    begin
        -- Directory.Control_Point.Get_Switch_Object
        --    (Unit     => Directory.Ada.Get_Unit (For_View),
        --     The_File => Switch_File_Obj,
        --     Status   => E_Status);
        --
        -- if Directory."/=" (E_Status, Directory.Successful) then
        --     Log.Put_Line ("Got " & Directory.Error_Status'Image (E_Status) &
        --                   " while trying to get switch file for view " &
        --                   Naming.Get_Full_Name (For_View), Profile.Warning_Msg);
        --     return Directory.Nil;
        -- end if;
        --
        -- Directory.Traversal.Get_Version
        --    (Switch_File_Obj, Switch_File, E_Status);
        --
        -- if Directory."=" (E_Status, Directory.Successful) then
        --     return Switch_File;
        -- else
        --     Log.Put_Line ("Got " & Directory.Error_Status'Image (E_Status) &
        --                   " while trying to get switch file for view " &
        --                   Naming.Get_Full_Name (For_View), Profile.Warning_Msg);
        --     return Directory.Nil;
        -- end if;
        --
        Directory.Traversal.Get_Version
           (Switch_File_Obj, Switch_File, E_Status);

        if Directory."=" (E_Status, Directory.Successful) then
            return Switch_File;
        else
            Log.Put_Line ("Got " & Directory.Error_Status'Image (E_Status) &
                          " while trying to get switch file for object " &
                          Naming.Get_Full_Name (Switch_File_Obj),
                          Profile.Warning_Msg);
        end if;

        return Directory.Nil;
    end Get_Switch_File;

    function Value (Name : String; Switch_File : Directory.Object)
                   return Boolean is
        Full_Switch_Name : constant String := Switch_Class_Name & '.' & Name;
        Field            : Field_Enum;
    begin
        return Boolean'(Switch_Implementation.Value
                           (Get_Switch_File (Switch_File), Full_Switch_Name));
    exception
        when Si.Undefined_Switch_Name =>
            Log.Put_Line ("Undefined switch name " & Full_Switch_Name,
                          Profile.Negative_Msg);
            return False;       when others =>
            Log.Put_Line ("Unhandled exception " &
                          Debug_Tools.Get_Exception_Name, Profile.Negative_Msg);
            return False;
    end Value;

    function Value (Name : String; Switch_File : Directory.Object)
                   return String is
        Full_Switch_Name : constant String := Switch_Class_Name & '.' & Name;
        Null_Str         : constant String := "";
    begin
        return String'(Switch_Implementation.Value
                          (Get_Switch_File (Switch_File), Full_Switch_Name));
    exception
        when Si.Undefined_Switch_Name =>
            Log.Put_Line ("Undefined switch name " & Full_Switch_Name,
                          Profile.Negative_Msg);
            return Null_Str;
        when others =>
            Log.Put_Line ("Unhandled exception " &
                          Debug_Tools.Get_Exception_Name, Profile.Negative_Msg);
            return Null_Str;
    end Value;

end Rcf_Switch_Implementation;

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=20 rec1=00 rec2=01 rec3=064
        [0x01] rec0=00 rec1=00 rec2=07 rec3=014
        [0x02] rec0=16 rec1=00 rec2=02 rec3=03e
        [0x03] rec0=17 rec1=00 rec2=03 rec3=024
        [0x04] rec0=01 rec1=00 rec2=06 rec3=002
        [0x05] rec0=17 rec1=00 rec2=04 rec3=000
        [0x06] rec0=02 rec1=00 rec2=05 rec3=000
    tail 0x21739be788565753bd525 0x42a00088462062803