/// <summary> /// Unload this Object Server /// </summary> public virtual void Unload() { if (IsOpen) { File.IFileSet fs = _fileset; if (fs != null) { fs.MarkNotDirty(); fs.Close(); } ((File.IFile)SystemFile).MarkNotDirty(); ((File.IFile)SystemFile).Close(); } }
/// <summary> /// Open the Object Server /// </summary> public virtual void Open() { if (!IsOpen) { ((File.IFile)SystemFile).Open(); object o = SystemFile.Store[SystemFileDeletedCollectionsLiteral]; if (o != null && o is long) { if (HasTrashBin) { ((File.IFile)SystemFile).DeletedCollections.DataAddress = (long)o; ((File.IFile)SystemFile).DeletedCollections.Load(); } #if (TRIAL) if (!SystemFile.ObjectStore.Contains("_SystemCreateDate")) { SystemFile.ObjectStore["_SystemCreateDate"] = DateTime.Now; } DateTime dt = (DateTime)SystemFile.ObjectStore["_SystemCreateDate"]; if (DateTime.Now.Subtract(dt).TotalDays > 30) { throw new InvalidOperationException( "This trial version of BTreeGold v4.0 - SOP is expired. Visit www.4atech.net for details on getting your production license." ); } #endif ValidateLicense(); } File.IFileSet fs = (File.IFileSet)FileSet; if (fs != null) { fs.Open(); } if (CollectionOnDisk.Session != null) { CollectionOnDisk.Session.Register(this); } } }
/// <summary> /// Close the Object Server /// </summary> public virtual void Close() { if (!IsOpen) { return; } _licenseSaved = false; if (HomePath != Path) { WriteSystemFileAttributes(); } File.IFileSet fs = _fileset; if (fs != null && ((FileSet)_fileset).Btree != null) { fs.Close(); } ((File.IFile)SystemFile).Close(); if (CollectionOnDisk.Session != null) { CollectionOnDisk.Session.UnRegister(this); } }