1 /* Copyright (C) 2004 - 2009  Versant Inc.  http://www.db4o.com */
2 
3 using Db4objects.Db4o.Internal;
4 using Db4objects.Db4o.Internal.Ids;
5 using Db4objects.Db4o.Internal.Slots;
6 
7 namespace Db4objects.Db4o.Internal.Ids
8 {
9 	/// <exclude></exclude>
10 	public interface ITransactionalIdSystem
11 	{
CollectCallBackInfo(ICallbackInfoCollector collector)12 		void CollectCallBackInfo(ICallbackInfoCollector collector);
13 
IsDirty()14 		bool IsDirty();
15 
Commit(FreespaceCommitter freespaceCommitter)16 		void Commit(FreespaceCommitter freespaceCommitter);
17 
CommittedSlot(int id)18 		Slot CommittedSlot(int id);
19 
CurrentSlot(int id)20 		Slot CurrentSlot(int id);
21 
AccumulateFreeSlots(FreespaceCommitter freespaceCommitter, bool forFreespace )22 		void AccumulateFreeSlots(FreespaceCommitter freespaceCommitter, bool forFreespace
23 			);
24 
Rollback()25 		void Rollback();
26 
Clear()27 		void Clear();
28 
IsDeleted(int id)29 		bool IsDeleted(int id);
30 
NotifySlotUpdated(int id, Slot slot, SlotChangeFactory slotChangeFactory)31 		void NotifySlotUpdated(int id, Slot slot, SlotChangeFactory slotChangeFactory);
32 
NotifySlotCreated(int id, Slot slot, SlotChangeFactory slotChangeFactory)33 		void NotifySlotCreated(int id, Slot slot, SlotChangeFactory slotChangeFactory);
34 
NotifySlotDeleted(int id, SlotChangeFactory slotChangeFactory)35 		void NotifySlotDeleted(int id, SlotChangeFactory slotChangeFactory);
36 
NewId(SlotChangeFactory slotChangeFactory)37 		int NewId(SlotChangeFactory slotChangeFactory);
38 
PrefetchID()39 		int PrefetchID();
40 
PrefetchedIDConsumed(int id)41 		void PrefetchedIDConsumed(int id);
42 
Close()43 		void Close();
44 	}
45 }
46