1 /* Copyright (C) 2004 - 2009  Versant Inc.  http://www.db4o.com */
2 
3 using Db4objects.Db4o.Internal;
4 using Db4objects.Db4o.Internal.Fileheader;
5 using Sharpen.Lang;
6 
7 namespace Db4objects.Db4o.Internal.Fileheader
8 {
9 	/// <exclude></exclude>
10 	public abstract class TimerFileLock : IRunnable
11 	{
ForFile(LocalObjectContainer file)12 		public static TimerFileLock ForFile(LocalObjectContainer file)
13 		{
14 			return new TimerFileLockDisabled();
15 		}
16 
CheckHeaderLock()17 		public abstract void CheckHeaderLock();
18 
CheckOpenTime()19 		public abstract void CheckOpenTime();
20 
LockFile()21 		public abstract bool LockFile();
22 
OpenTime()23 		public abstract long OpenTime();
24 
SetAddresses(int baseAddress, int openTimeOffset, int accessTimeOffset )25 		public abstract void SetAddresses(int baseAddress, int openTimeOffset, int accessTimeOffset
26 			);
27 
28 		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
Start()29 		public abstract void Start();
30 
WriteHeaderLock()31 		public abstract void WriteHeaderLock();
32 
WriteOpenTime()33 		public abstract void WriteOpenTime();
34 
35 		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
Close()36 		public abstract void Close();
37 
38 		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
CheckIfOtherSessionAlive(LocalObjectContainer container, int address, int offset, long lastAccessTime)39 		public abstract void CheckIfOtherSessionAlive(LocalObjectContainer container, int
40 			 address, int offset, long lastAccessTime);
41 
Run()42 		public abstract void Run();
43 	}
44 }
45