/ivy/binding/hickory/hickoryStorage
defines the relations and other protected monitor data of Hickory
Last Edited by: Binding, July 25, 1984 3:58:44 pm PDT
DIRECTORY
DB USING [ Entity, Domain, Attribute, Index, Relation],
Rope USING [ ROPE]
;
HickoryStorage: CEDAR DEFINITIONS =
BEGIN OPEN Rope, DB;
The protected data of the monitor
PropertyTypes: TYPE = { Int, Bool, Time, String};
PropertyRel: TYPE = RECORD [ -- to store properties of one type for an event
Name: Rope.ROPE,
Rel: Relation,
Event: Attribute,
PropValue: Attribute,
Property: Attribute,
EventIndex: Index
];
ProtectedData: TYPE = MONITORED RECORD [
eventDomain: Domain, -- domains for events and all the rope attributes
iconDomain: Domain,
messageDomain: Domain,
textDomain: Domain,
placeDomain: Domain,
repTimeDomain: Domain,
groupDomain: Domain,
propertyDomain: Domain,
typeDomain: Domain,
BooleanEntity: Entity,
IntegerEntity: Entity,
TimeEntity: Entity,
RopeEntity: Entity,
eventRel: RECORD [ -- this describes the event relation
Name: Rope.ROPE,
Rel: Relation,
Key: Attribute, -- key for tuple
Time: Attribute, -- when does event start
RepeatType: Attribute, -- is it a repeated event
Forgotten: Attribute, -- has it been forgotten
Duration: Attribute, -- how long ( minutes)
LeadTime: Attribute, -- when is reminder posted
NagTime: Attribute, -- how long is reminder posted
KeepTime: Attribute, -- how long to keep event in data base?
Text: Attribute,
Message: Attribute, -- walnut msg. id.
Place: Attribute, -- where is it happening
Protection: Attribute, -- { Public, Private}
Icon: Attribute, -- how does the reminder icon look
Reminder: Attribute, -- is event a reminder or not?
TimeIndex: Index
],
repeatRel: RECORD [ -- this thing describes the repeated event relation
Name: Rope.ROPE,
Rel: Relation,
Event: Attribute,
FirstTime: Attribute,
LastOccurred: Attribute,
RepeatType: Attribute,
RepeatTime: Attribute, -- a rope for complicated repetitions
RepeatUntil: Attribute, -- until when to schedule repeated events
EventIndex: Index
],
iconRel: RECORD [ -- the icon relation in data base
Name: Rope.ROPE,
Rel: Relation,
Key: Attribute,
IconFlavor: Attribute,
IconLabel: Attribute
],
administrativeRel: RECORD [ -- the relation to store administrative stuff
Name: Rope.ROPE,
Rel: Relation,
CleanTime: Attribute, -- when was Hickory last maintained
Owner: Attribute, -- who is the owner of the Hickory DB
PassWord: Attribute
],
cacheRel: RECORD [ -- to keep the cached repetitions
Name: Rope.ROPE,
Rel: Relation,
Event: Attribute,
Time: Attribute,
TimeIndex: Index
],
groupRel: RECORD [ -- to keep grouped events
Name: Rope.ROPE,
Rel: Relation,
Event: Attribute,
Group: Attribute,
EventIndex: Index
],
propertyDescriptorRel: RECORD [ -- to store the description of properties
Name: Rope.ROPE,
Rel: Relation,
Property: Attribute,
Type: Attribute
],
propertyRels: ARRAY PropertyTypes OF PropertyRel,
activity: BOOLEANFALSE, -- was there any activity lately?
segmentName: ROPE , -- data base segment name, read from user.profile
owner: BOOLEAN -- is owner using data base
]; -- ProtectedData
protData: ProtectedData;
SetUpRelationSchemes: PROCEDURE;
initializes the data base schemes and initializes all global variables of protData.
END.