/// <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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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.");
         }
     }
 }