/// <summary> /// Initializes a new instance of the <see cref="ContractMessage"/> class. /// </summary> /// <param name="messagePrefix">The message prefix.</param> /// <param name="throwException">The throw exception.</param> /// <param name="isSatisfied">The is failed.</param> /// <param name="getErrorMessage">The get error message.</param> public ContractMessage( string messagePrefix, ThrowException throwException, IsSatisfied isSatisfied, GetErrorMessage getErrorMessage) { this.messagePrefix = messagePrefix; this.throwException = throwException; this.isSatisfied = isSatisfied; this.getErrorMessage = getErrorMessage; }
private Library(LibraryHandle libraryHandle) { LibraryHandle = libraryHandle; _getErrorMessage = LibraryHandle.GetUnmanagedDelegate<GetErrorMessage>(); _freeBson = libraryHandle.GetUnmanagedDelegate<FreeBsonDelegate>(); _bsonToString = libraryHandle.GetUnmanagedDelegate<BsonToStringDelegate>(); //_jsonToBson = libraryHandle.GetUnmanagedDelegate<JsonToBsonDelegate>(); var getVersion = LibraryHandle.GetUnmanagedDelegate<GetVersion>(); IntPtr version = getVersion(LibraryHandle); if (version == IntPtr.Zero) { throw new Exception("Unable to get ejdb library version"); } _version = Native.StringFromNativeUtf8(version); //UnixMarshal.PtrToString(vres, Encoding.UTF8); _hexVersion = Convert.ToInt64("0x" + Version.Replace(".", ""), 16); }
private unsafe Library(LibraryHandle libraryHandle) { LibraryHandle = libraryHandle; Functions = new Functions(libraryHandle); _getErrorMessage = LibraryHandle.GetUnmanagedDelegate <GetErrorMessage>(); _freeBson = libraryHandle.GetUnmanagedDelegate <FreeBsonDelegate>(); GetBsonData = libraryHandle.GetUnmanagedDelegate <BsonToStringDelegate>(); //_jsonToBson = libraryHandle.GetUnmanagedDelegate<JsonToBsonDelegate>(); var getVersion = LibraryHandle.GetUnmanagedDelegate <GetVersion>(); var version = getVersion(LibraryHandle); if (version == IntPtr.Zero.ToPointer()) { throw new Exception("Unable to get ejdb library version"); } _version = new string(version); //UnixMarshal.PtrToString(vres, Encoding.UTF8); _hexVersion = Convert.ToInt64("0x" + Version.Replace(".", ""), 16); }
/// <summary> /// Initializes the <see cref="Contract"/> class. /// </summary> public Contract() { appendErrorMessage = AppendMessageError; getErrorMessage = GetMessageError; throwException = ThrowAnException; }