/// <summary> /// Creates instance of EJDB. /// </summary> /// <param name="library"></param> public Database(Library library) { var libraryHandle = library.LibraryHandle; DatabaseHandle = new DatabaseHandle(libraryHandle); Library = library; _openDatabase = libraryHandle.GetUnmanagedDelegate<OpenDatabaseDelegate>(); _closeDatabase = libraryHandle.GetUnmanagedDelegate<CloseDatabaseDelegate>(); _isOpen = libraryHandle.GetUnmanagedDelegate<IsOpenDelegate>(); _getErrorCode = libraryHandle.GetUnmanagedDelegate<GetErrorCodeDelegate>(); _getMetadata = libraryHandle.GetUnmanagedDelegate<GetMetaDelegate>(); _command = libraryHandle.GetUnmanagedDelegate<CommandDelegate>(); _sync = libraryHandle.GetUnmanagedDelegate<SyncDelegate>(); }
/// <summary> /// Creates new instance of a <see cref="Library"/> class. /// <remarks>It's better to use the only instance of library for process. You can manage it yourself or use <see cref="Library#Instance"/> property.</remarks> /// </summary> /// <returns></returns> public static Library Create() { var libraryHandle = LibraryHandle.Load(); var result = new Library(libraryHandle); return result; }