/// <summary> /// Return version of database service is curently using /// </summary> /// <returns></returns> public static string GetDBVersion() { // TEST!! return("Unknown"); ClamWinScan Scan = new ClamWinScan(FakeScanID); return(Scan.GetDBVersion()); }
/// <summary> /// Opens service pipe /// </summary> /// <returns>true if success, false if failed</returns> public static bool Open(IntPtr handle) { /* * System.ServiceProcess.ServiceController controller = null; * try * { * controller = new System.ServiceProcess.ServiceController("ClamWind"); * * if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Running) * { * controller.Start(); * * controller.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Running, * new TimeSpan(0, 0, 0, 0, 35 * 1000) * ); * if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Running) * { * throw 0; * } * } * } * catch * { * return false; * } * finally * { * controller.Close(); * } */ varFilterJobsUpdatedEvent = Win32API.CreateEvent((IntPtr)0, false, false, "FilterListenerJobsUpdated"); varStopFilterListening = Win32API.CreateEvent((IntPtr)0, false, false, "StopFilterListening"); FilterFakeScan = new ClamWinScan(ClamWinScanner.FakeScanID); IntPtr[] listeners = new IntPtr[1]; listeners[0] = handle; FilterFakeScan.StartFilterListening(listeners); return(true); }
/// <summary> /// Create new scan object or select existing one(by ID) and start scan /// </summary> /// <param name="Items">Items for scan</param> /// <param name="Listeners">Listeners to be notified</param> /// <param name="ID">Scan identifier</param> /// <returns>1 on success or error code if failed</returns> public static int StartScan(ref ScannerItem[] Items, ref IntPtr[] Listeners, int ID) { if (ID == FakeScanID) { return(-128); } foreach (ClamWinScan scan in Scans) { if (scan.GetScanID() == ID) { // Scan already exist return(scan.StartScan(ref Items, Listeners)); } } // New scan ClamWinScan Scan = new ClamWinScan(ID); Scans.Add(Scan); return(Scan.StartScan(ref Items, Listeners)); }
/// <summary> /// Change OnAccess Scaner status /// </summary> /// <param name="status"></param> public static bool SetOnAccessScanerStatus(ClamWinSettings.OnAccessStatus status) { ClamWinScan Scan = new ClamWinScan(FakeScanID); return(Scan.SetOnAccessScanerStatus(status)); }
/// <summary> /// Register or unregister gui handle in service /// </summary> /// <param name="handle"></param> /// <param name="register"></param> /// <returns></returns> public static bool ManageGuiHandle(IntPtr handle, bool register) { ClamWinScan Scan = new ClamWinScan(FakeScanID); return(Scan.ManageGuiHandle(handle, register)); }