NuthatchDB.Mesa
Last Edited by: Swinehart, April 30, 1984 2:14:28 pm PDT
DIRECTORY
DB USING [Attribute, AttributeValueList, Domain, Entity, Relation, Relship, RelshipSet, Value],
GVBasics USING [RName],
Nuthatch USING [EncryptionKey, ID, IDType, NuthatchUserHandle, Tune, VoiceFileID],
Rope USING [ROPE],
BasicTime USING [GMT, nullGMT],
Thrush USING [nullKey],
UserCredentials
;
NuthatchDB: CEDAR DEFINITIONS = {
Entity: TYPE = DB.Entity;  -- for other Nuthatch modules
Domain: TYPE = DB.Domain;
AttributeValueList: TYPE = DB.AttributeValueList;
Relation: TYPE = DB.Relation;
Relship: TYPE = DB.Relship;
RelshipSet: TYPE = DB.RelshipSet;
Value: TYPE = DB.Value;
Attribute: TYPE = DB.Attribute;
VoiceMessage: TYPE = Entity;
InitializeDB: PROC[close: BOOLTRUE] RETURNS [success: BOOLTRUE, logReadPoint: INT];
CatalogVoiceFile: PROC[
msg: Nuthatch.VoiceFileID← NIL,
tuneNumber: Nuthatch.Tune← -1,
recordTime: BasicTime.GMT ← BasicTime.nullGMT,
creator: GVBasics.RName← NIL,
samples: INT← -1,
startSample: INT← -1,
expirationDate: BasicTime.GMT ← BasicTime.nullGMT,
encryptionKeyRope: Rope.ROPENIL,
type: Rope.ROPENIL ,
referenceCount: INT← 0,
close: BOOLTRUE  -- Close transaction after completing operation.
] RETURNS [New: BOOLFALSE];
GetVoiceFileID: PROC[
user: GVBasics.RName, refIDType: Rope.ROPE, refID: Rope.ROPE, close: BOOLTRUE]
RETURNS [voiceFileID: Nuthatch.VoiceFileID← NIL];
GetVoiceFileEntry: PROC[
msg: Nuthatch.VoiceFileID← NIL, close: BOOLTRUE]
RETURNS [
tuneNumber: Nuthatch.Tune← -1,
recordTime: BasicTime.GMT ← BasicTime.nullGMT,
creator: GVBasics.RName← NIL,
samples: INT← -1,
startSample: INT← -1,
expirationDate: BasicTime.GMT ← BasicTime.nullGMT,
encryptionKey: Nuthatch.EncryptionKey←Thrush.nullKey,
type: Rope.ROPENIL ,
referenceCount: INT← 0,
found: BOOLFALSE
];
MakeInterestEntry: PROC[
voiceFileID: Nuthatch.VoiceFileID,
refIDType: Nuthatch.IDType,
refID: Nuthatch.ID,
user: GVBasics.RName,
close: BOOLTRUE
];
AddInterest: PROC[
voiceFileID: Nuthatch.VoiceFileID← NIL,
refIDType: Nuthatch.IDType←NIL,
refID: Nuthatch.IDNIL,
user: GVBasics.RName←NIL,
close: BOOLTRUE
];
LoseInterest: PROC[
voiceFileID: Nuthatch.VoiceFileID← NIL,
refIDType: Nuthatch.IDType←NIL,
refID: Nuthatch.IDNIL,
user: GVBasics.RName←NIL,
close: BOOLTRUE
];
RemoveInterestEntry: PROC[
voiceFileID: Nuthatch.VoiceFileID,
refIDType: Nuthatch.IDType,
refID: Nuthatch.ID,
user: GVBasics.RName,
close: BOOLTRUE
];
SetReadPoint: PROC [nuthatchUserHandle: Nuthatch.NuthatchUserHandle, close: BOOLTRUE];
CloseTransaction: PROC;
MarkTransaction: PROC;
AbortTransaction: PROC;
}.