示例#1
0
        /// <summary>
        /// Set a string setting value.
        /// </summary>
        /// <param name="setting">Setting key.</param>
        /// <param name="value">Setting value.</param>
        internal void EngineSetStr(UnsafeNativeMethods.cl_engine_field setting, string value)
        {
            int error = UnsafeNativeMethods.cl_engine_set_str(_engine, setting, value);

            if (error != UnsafeNativeMethods.CL_SUCCESS)
            {
                throw new ClamException(error, ErrorString(error));
            }
        }
示例#2
0
        /// <summary>
        /// Set a numerical setting value.
        /// </summary>
        /// <param name="setting">Setting key.</param>
        /// <param name="value">Setting value.</param>
        private void EngineSetNum(UnsafeNativeMethods.cl_engine_field setting, long value)
        {
            int error = UnsafeNativeMethods.cl_engine_set_num(_engine, setting, value);

            if (error != UnsafeNativeMethods.CL_SUCCESS)
            {
                throw new ClamException(error, ErrorString(error));
            }
        }
示例#3
0
        /// <summary>
        /// Get a string setting value.
        /// </summary>
        /// <param name="setting">Setting key.</param>
        /// <returns>Setting value.</returns>
        internal string EngineGetStr(UnsafeNativeMethods.cl_engine_field setting)
        {
            int    error  = 0;
            IntPtr strPtr = UnsafeNativeMethods.cl_engine_get_str(_engine, setting, ref error);

            if (error != UnsafeNativeMethods.CL_SUCCESS)
            {
                throw new ClamException(error, ErrorString(error));
            }

            return(Marshal.PtrToStringAnsi(strPtr));
        }
示例#4
0
        /// <summary>
        /// Get a numerical settings value.
        /// </summary>
        /// <param name="setting">Setting key.</param>
        /// <returns>Setting value.</returns>
        internal long EngineGetNum(UnsafeNativeMethods.cl_engine_field setting)
        {
            int  error    = 0;
            long numValue = UnsafeNativeMethods.cl_engine_get_num(_engine, setting, ref error);

            if (error != UnsafeNativeMethods.CL_SUCCESS)
            {
                throw new ClamException(error, ErrorString(error));
            }

            return(numValue);
        }