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