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: BOOL←TRUE] RETURNS [success: BOOL←TRUE, 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.ROPE←NIL,
type: Rope.ROPE←NIL ,
referenceCount: INT← 0,
close: BOOL←TRUE -- Close transaction after completing operation.
] RETURNS [New: BOOL←FALSE];
GetVoiceFileID:
PROC[
user: GVBasics.RName, refIDType: Rope.ROPE, refID: Rope.ROPE, close: BOOL←TRUE]
RETURNS [voiceFileID: Nuthatch.VoiceFileID← NIL];
GetVoiceFileEntry:
PROC[
msg: Nuthatch.VoiceFileID← NIL, close: BOOL←TRUE]
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.ROPE←NIL ,
referenceCount: INT← 0,
found: BOOL←FALSE
];
MakeInterestEntry:
PROC[
voiceFileID: Nuthatch.VoiceFileID,
refIDType: Nuthatch.IDType,
refID: Nuthatch.ID,
user: GVBasics.RName,
close: BOOL←TRUE
];
AddInterest:
PROC[
voiceFileID: Nuthatch.VoiceFileID← NIL,
refIDType: Nuthatch.IDType←NIL,
refID: Nuthatch.ID←NIL,
user: GVBasics.RName←NIL,
close: BOOL←TRUE
];
LoseInterest:
PROC[
voiceFileID: Nuthatch.VoiceFileID← NIL,
refIDType: Nuthatch.IDType←NIL,
refID: Nuthatch.ID←NIL,
user: GVBasics.RName←NIL,
close: BOOL←TRUE
];
RemoveInterestEntry:
PROC[
voiceFileID: Nuthatch.VoiceFileID,
refIDType: Nuthatch.IDType,
refID: Nuthatch.ID,
user: GVBasics.RName,
close: BOOL←TRUE
];
SetReadPoint: PROC [nuthatchUserHandle: Nuthatch.NuthatchUserHandle, close: BOOL←TRUE];
CloseTransaction: PROC;
MarkTransaction: PROC;
AbortTransaction: PROC;
}.