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

⟦37fad4ca9⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Sub_Contrat, seg_0572b7

Derivation

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

E3 Source Code



with Message;
with List_Generic;
with Identification;
with Orb_Tools;

package Sub_Contrat is

    subtype Tnom_Contrat is Orb_Tools.Content_String;

    type Tcontrat is
        record
            Nom_Contrat : Tnom_Contrat;
            -- nom ou type de contrat ex: date, math, ...
            Id : Identification.Tclient_Id;
            -- id de l'orb satisfaisant le type de contrat
            Buzzy : Boolean;
            -- true :=buzzy, false:=free
        end record;

    package Contrat_List is new List_Generic (Element => Tcontrat);

    procedure Switch_Status (List_Of_Contrats : in out Contrat_List.List;
                             Id : in Identification.Tclient_Id;
                             Buzzy : Boolean);
    -- change le status du serveur

    function Is_Publication (Mess : in Message.Tmessage) return Boolean;
    -- le message est un Publication ?

    function Is_Unpublication (Mess : in Message.Tmessage) return Boolean;
    -- le message est un unPublication ?

    procedure Fill_Contrat (Mess : in Message.Tmessage; Contrat : out Tcontrat);
    -- remplit un contrat a partir d'un message

    procedure Add_Contrat (List_Of_Contrats : in out Contrat_List.List;
                           Contrat : in Tcontrat);
    -- ajoute un contrat a la liste des contrats

    procedure Remove_Contrat (List_Of_Contrats : in out Contrat_List.List;
                              Id : Identification.Tclient_Id);
    -- retire un contrat de la liste

    function Contrat_Exists
                (List_Of_Contrats : Contrat_List.List; Nom : in Tnom_Contrat)
                return Boolean;
    -- un contrat de ce nom(type) existe deja ?

    function Contrat_Provider
                (List_Of_Contrats : Contrat_List.List; Nom : in Tnom_Contrat)
                return Identification.Tclient_Id;
    -- retourne l'id de l'orb satisfaisant un contrat de type nom

    type Tsubscription is
        record
            Who : Identification.Tclient_Id;
            On : Orb_Tools.Content_String;
        end record;

    package Sub_List is new List_Generic (Element => Tsubscription);

    function Is_Subscription (Mess : in Message.Tmessage) return Boolean;
    -- le message est un subscription ?

    function Is_Unsubscription (Mess : in Message.Tmessage) return Boolean;
    -- le message est un unsubscription ?

    procedure Fill_Sub (L : in Contrat_List.List;
                        Mess : in Message.Tmessage;
                        Sub : out Tsubscription);
    -- remplit une sub a partir d'un message

    procedure Add_Sub (List_Of_Sub : in out Sub_List.List;
                       Sub : in Tsubscription);
    -- ajoute une sub a la liste des subs

    procedure Remove_Sub (List_Of_Sub : in out Sub_List.List;
                          Who : in Identification.Tclient_Id);
    -- retire une sub de la liste

    function Subscription_Exists
                (List_Of_Sub : Sub_List.List; On : in Orb_Tools.Content_String)
                return Boolean;
    -- il existe un abonne aux messages partant de l'objet to

    function Subscripter (List_Of_Sub : Sub_List.List;
                          On : in Orb_Tools.Content_String)
                         return Identification.Tclient_Id;
    -- et voila cet abonne


end Sub_Contrat;

E3 Meta Data

    nblk1=6
    nid=6
    hdr6=a
        [0x00] rec0=1f rec1=00 rec2=01 rec3=094
        [0x01] rec0=19 rec1=00 rec2=03 rec3=014
        [0x02] rec0=01 rec1=00 rec2=02 rec3=004
        [0x03] rec0=1a rec1=00 rec2=05 rec3=01a
        [0x04] rec0=0b rec1=00 rec2=04 rec3=000
        [0x05] rec0=43 rec1=d4 rec2=4b rec3=556
    tail 0x2154df51887c679a3948a 0x42a00088462060003
Free Block Chain:
  0x6: 0000  00 00 00 e7 80 42 74 69 6f 6e 20 49 73 5f 55 6e  ┆     Btion Is_Un┆