/// <summary> /// Returns the version string of the library. /// </summary> /// <remarks> /// This method can be executed even if the library is not initialized yet. /// </remarks> /// <returns>The version string.</returns> /// <exception cref="IRException">In case of error.</exception> public static string GetVersion() { int versionSize; IRErrorCode retval; byte[] versionBin; versionSize = 0; retval = (IRErrorCode)IRecordDll.IRGetVersion(ref versionSize, null); if (retval != IRErrorCode.IRE_BUFFER_TOO_SHORT) { throw new IRException(retval, "Unexpected error code."); } versionSize = versionSize + 1; versionBin = new byte[versionSize]; retval = (IRErrorCode)IRecordDll.IRGetVersion(ref versionSize, versionBin); if (retval == IRErrorCode.IRE_SUCCESS) { return(IRecordUtil.FromUTF8(versionBin)); } else { throw new IRException(retval); } }
public void IRGetVersionIntTest() { int retval; int major = -1; int minor = -1; retval = IRecordDll.IRGetVersionInt(ref major, ref minor); Assert.AreEqual(IRErrorCode.IRE_SUCCESS, (IRErrorCode)retval); Assert.AreNotEqual(-1, major); Assert.AreNotEqual(-1, minor); }
public void IRGetVersionTest() { int retval; byte[] version; int versionSize = 0; retval = IRecordDll.IRGetVersion(ref versionSize, null); Assert.AreEqual(IRErrorCode.IRE_BUFFER_TOO_SHORT, (IRErrorCode)retval); version = new byte[versionSize]; retval = IRecordDll.IRGetVersion(ref versionSize, version); Assert.AreEqual(IRErrorCode.IRE_SUCCESS, (IRErrorCode)retval); Assert.AreEqual(versionSize - 1, IRecordUtil.CStringLength(version)); Assert.AreEqual("0.1.0.0", IRecordUtil.FromUTF8(version)); }
public void Deinitialize() { EnsureInitialized(); lock (myLock) { IRErrorCode retval = (IRErrorCode)IRecordDll.IRDeinitialize(); if (retval == IRErrorCode.IRE_SUCCESS) { initialized = false; } else { throw new IRException(retval, "IRDeinitialize() failed."); } } }
public void Initialize() { lock (myLock) { if (Initialized) { throw new InvalidOperationException("The library is already initalized."); } IRErrorCode retval = (IRErrorCode)IRecordDll.IRInitialize(); if (retval == IRErrorCode.IRE_SUCCESS) { initialized = true; } else { throw new IRException(retval, "IRInitialize() failed."); } } }