public void Initialize(List <SignatureElement> elements) { logger.Debug("Initializing {0} detector", this.Name); var matchingElements = from element in elements where element.Type == this.Type select element; /* * If there were no ExtensionSignatureElement instances in the provided * list of elements then this detector will go unused during the scan. */ if (matchingElements.Count() < 1) { logger.Debug("No matching elements. This detector will not be used."); this.Status = DetectorStatus.UNUSED; } else { foreach (var element in matchingElements) { if (element is ExtensionSignatureElement extensionElement) { logger.Trace("Loading element {0}", element.Name); extensions.Add(extensionElement.Extension.Name); } } this.Status = DetectorStatus.INITIALIZED; } }
public void Initialize(List <SignatureElement> elements) { logger.Debug("Initializing {0} detector", this.Name); var matchingElements = from element in elements where element.Type == this.Type select element; if (matchingElements.Count() < 1) { logger.Debug("No matching elements. This detector will not be used."); this.Status = DetectorStatus.UNUSED; } else { foreach (var element in matchingElements) { if (element is KeywordSignatureElement keywordElement) { logger.Trace("Loading element {0}", element.Name); keywords.Add(keywordElement.Word); } } this.Status = DetectorStatus.INITIALIZED; } }
/// <summary> /// Sets the status of a detector /// </summary> /// <param name="response">Response object</param> /// <param name="health">Detector Status</param> /// <param name="message">Detector status message</param> /// <example> /// This sample shows how to use <see cref="SetDetectorStatus"/> method. /// <code> /// public async static Task<![CDATA[<Response>]]> Run(DataProviders dp, OperationContext cxt, Response res) /// { /// res.SetDetectorStatus(DetectorStatus.Critical, "This is an error message that will come from the detector"); /// } /// </code> /// </example> public static void SetDetectorStatus(this Response response, DetectorStatus status, string message = null) { response.Status = new Status() { StatusId = status, Message = message }; }
public void Initialize(List <SignatureElement> elements) { logger.Debug("Initializing {0} detector", this.Name); try { var firstElement = (SizeSignatureElement)elements.First(element => element is SizeSignatureElement); logger.Trace("Loading element {0}", firstElement.Name); maxSize = firstElement.Limit; maxSizeAsReadableString = Utils.GetDynamicFileSize(maxSize); this.Status = DetectorStatus.INITIALIZED; } catch (InvalidOperationException) { logger.Debug("No matching size elements. This detector will not be used."); this.Status = DetectorStatus.UNUSED; } }
public void Initialize(List <SignatureElement> elements) { logger.Debug("Initializing {0} detector", this.Name); try { Task <bool> pingSuccess = clam.PingAsync(); pingSuccess.Wait(); if (pingSuccess.Result == false) { return; } } catch (Exception ex) { logger.Warn(ex, "ClamAV server not contactable; the detector will not be used."); return; } logger.Info("Successfully connected to ClamAV server"); this.Status = DetectorStatus.INITIALIZED; }
private BaseMessage makeMessage(MessageType _key, byte[] payload) { BaseMessage message = null; switch (_key) { case MessageType.DETECTOR_STATUS_MESSAGE: { message = new DetectorStatus(); message.deserialize(payload); break; } case MessageType.DETECTOR_GET_IMAGE_DONE: { message = new DetectorGetImageDone(); message.deserialize(payload); break; } case MessageType.DETECTOR_ERROR_MESSAGE: { message = new DetectorError(); message.deserialize(payload); break; } default: { //Logger.Info("DetectorCodec key = {0} does NOT match any key", BitConverter.ToString(BitConverter.GetBytes((ushort)_key))); break; } } return(message); }
public Status() { StatusId = DetectorStatus.None; }
public void Initialize(List <SignatureElement> elements) { logger.Debug("Initializing {0} detector", this.Name); this.Status = DetectorStatus.INITIALIZED; }
private void handleResponseMessage(BaseMessage msg) { switch (msg.getMessageType()) { case MessageType.DETECTOR_STATUS_MESSAGE: { DetectorStatus detectorStatus = msg as DetectorStatus; this.mState = detectorStatus.getState(); this.mOperationMode = detectorStatus.getOperationMode(); this.mFPS = detectorStatus.getFPS(); this.mNOF = detectorStatus.getNOF(); this.mBMPRate = detectorStatus.getBMPRate(); this.Dispatcher.Invoke((MethodInvoker) delegate { switch (this.mState) { case DetectorState.DISCONNECTED: { lbDetectorState.Content = "Chưa kết nối"; lbDetectorBMPRate.Content = ""; lbDetectorFPS.Content = ""; lbDetectorNumOfFrame.Content = ""; break; } case DetectorState.CONNECTED: { lbDetectorState.Content = "Đã kết nối"; circleDetectorState.Fill = Brushes.Green; //lbDetectorBMPRate.Content = "BMPRate ( " + this.mBMPRate.ToString() + " % )"; lbDetectorFPS.Content = "FPS (" + this.mFPS.ToString() + ")"; lbDetectorNumOfFrame.Content = "Số ảnh chụp(" + this.mNOF.ToString() + ")"; break; } case DetectorState.CALIBARATING: { lbDetectorState.Content = "Đang hiệu chỉnh"; circleDetectorState.Fill = Brushes.Green; //lbDetectorBMPRate.Content = "BMPRate ( " + this.mBMPRate.ToString() + " % )"; lbDetectorFPS.Content = "FPS (" + this.mFPS.ToString() + ")"; lbDetectorNumOfFrame.Content = "Số ảnh chụp(" + this.mNOF.ToString() + ")"; break; } case DetectorState.CALIBRATE_DARK_DONE: { lbDetectorState.Content = "Hiệu chỉnh tối xong"; circleDetectorState.Fill = Brushes.Green; //lbDetectorBMPRate.Content = "BMPRate ( " + this.mBMPRate.ToString() + " % )"; lbDetectorFPS.Content = "FPS ( " + this.mFPS.ToString() + " )"; lbDetectorNumOfFrame.Content = "Số ảnh chụp(" + this.mNOF.ToString() + ")"; break; } case DetectorState.CALIBRATE_BRIGHT_DONE: { lbDetectorState.Content = "Hiệu chỉnh sáng xong"; circleDetectorState.Fill = Brushes.Green; lbDetectorBMPRate.Content = "BMPRate ( " + this.mBMPRate.ToString() + " % )"; lbDetectorFPS.Content = "FPS ( " + this.mFPS.ToString() + " )"; lbDetectorNumOfFrame.Content = "Số ảnh chụp(" + this.mNOF.ToString() + ")"; break; } case DetectorState.READY_GET_IMAGE: { lbDetectorState.Content = "Sẵn sàng chụp ảnh"; circleDetectorState.Fill = Brushes.Green; lbDetectorBMPRate.Content = "BMPRate (" + this.mBMPRate.ToString() + " %)"; lbDetectorFPS.Content = "FPS ( " + this.mFPS.ToString() + " )"; lbDetectorNumOfFrame.Content = "Số ảnh chụp(" + this.mNOF.ToString() + ")"; break; } } }); //Logger.Info("DETECTOR_STATUS_MESSAGE: state = {0}, mode = {1}, FPS = {2}, NOF = {3}, BMP = {4}", // detectorStatus.getState(), detectorStatus.getOperationMode(), detectorStatus.getFPS(), detectorStatus.getNOF(), detectorStatus.getBMPRate()); break; } case MessageType.DETECTOR_GET_IMAGE_DONE: { DetectorGetImageDone res = msg as DetectorGetImageDone; this.mCurResImage = res.getIndex(); Logger.Info("DETECTOR_GET_IMAGE_DONE: index = {0}", res.getIndex()); break; } case MessageType.DETECTOR_ERROR_MESSAGE: { DetectorError res = msg as DetectorError; Logger.Info("DETECTOR_ERROR_MESSAGE: error code = {0}", res.getErrorCode()); break; } default: { //Logger.Info("DetectorCodec key = {0} does NOT match any key", BitConverter.ToString(BitConverter.GetBytes((ushort)_key))); break; } } }