<> <> 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; }.