Last modified on Mon Jun 29 22:11:47 PDT 1992 by muller modified on Fri Jan 18 9:11:13 PST 1991 by mjordan
MODULEMProperty EXPORTSMProperty ,MPropertyF ; IMPORT Thread, PropertyF; REVEAL Set = Set_public BRANDED OBJECT OVERRIDES put := Put; get := Get; remove := Remove; END; PROCEDURENew (): Set= BEGIN RETURN NEW(Set, m := NEW(Thread.Mutex)); END New; PROCEDUREPut (ps: Set; r: REFANY) = BEGIN LOCK ps.m DO PropertyF.Put(ps, r); END; END Put; PROCEDURERemove (ps: Set; tc: CARDINAL) = BEGIN LOCK ps.m DO PropertyF.Remove(ps, tc) END; END Remove; PROCEDUREGet (ps: Set; tc: CARDINAL): REFANY = BEGIN LOCK ps.m DO RETURN PropertyF.Get(ps,tc); END; END Get; PROCEDURERemoveSub (ps: Set; tc: CARDINAL) = BEGIN LOCK ps.m DO PropertyF.RemoveSub(ps, tc) END; END RemoveSub; PROCEDUREGetSub (ps: Set; tc: CARDINAL): REFANY = BEGIN LOCK ps.m DO RETURN PropertyF.GetSub(ps,tc); END; END GetSub; BEGIN END MProperty.