예제 #1
0
        /// <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>();
        }
예제 #2
0
        /// <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;
        }