DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦08c9ec824⟧ TextFile

    Length: 2254 (0x8ce)
    Types: TextFile
    Names: »B«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with Cmvc_Implementation;
with Directory_Tools;
with Action, System_Utilities;
function Check_Out_Ok (What_Object : String) return Boolean is

    package Ci renames Cmvc_Implementation;
    package Dt renames Directory_Tools;
    package Traversal renames Dt.Traversal;
    package Object renames Dt.Object;
    package Naming renames Dt.Naming;

    Obj : Directory_Tools.Object.Handle := Dt.Naming.Resolution (What_Object);
    Version_Set : Ci.Version_Set;
    Config : Ci.Configuration;
    Element : Ci.Element;
    Db : Ci.Database;
    Status : Ci.Error_Status;
    View : Object.Handle;
    Subsystem : Object.Handle;
    Is_Out : Boolean := False;
begin

    if not Object.Is_Bad (Obj) then
        View := Traversal.Enclosing_World (Obj);
        Subsystem := Traversal.Parent (View);
        Ci.Database_Operations.Open
           (Naming.Full_Name (Subsystem) & ".state.cmvc_database",
            Action.Null_Id, Db, Status);
        if Status = 0 then
            Ci.Configuration_Operations.Open
               (Naming.Simple_Name (View), Config, Status, Db);
            if Status = 0 then
                if Dt.Ada_Object.Is_Visible_Part (Obj) then
                    Ci.Element_Operations.Open
                       ("units." & Naming.Simple_Name (Obj) & "'spec",
                        Element, Status, Db);
                else
                    Ci.Element_Operations.Open
                       ("units." & Naming.Simple_Name (Obj) & "'body",
                        Element, Status, Db);
                end if;
                if Status = 0 then
                    Ci.Version_Set_Operations.Open
                       (Element, Version_Set, Status, Config);
                    if Status = 0 then
                        Is_Out := Ci.History_Operations.Is_Checked_Out
                                     (Version_Set) and
                                  Ci.History_Operations.Who_Checked_Out
                                     (Version_Set) = System_Utilities.User_Name;
                    end if;
                end if;
            end if;
            Ci.Database_Operations.Close
               (Db => Db, Status => Status, Prevent_Commit => False);
        end if;
    end if;
    return Is_Out;
end Check_Out_Ok;