private void init() { parser.StartNode = "//body"; packetCapture.Start(1000); packetCapture.OnHttpPacketArrival += HttpPacketArriveEvent; OnChangedHandler onChangeHandler = new OnChangedHandler(OnChanged); OnRenamedHandler onRenamedHandler = new OnRenamedHandler(OnRenamed); IOTracker track = new IOTracker("C:\\", onChangeHandler, onRenamedHandler); track.AddFileType("txt"); track.AddFileType("ppt"); try { track.StartWatch(); } catch (Exception e) { Console.Out.WriteLine(e.ToString()); } }
/// <summary> /// 파일 경로와 함께 IOTracker 초기화. /// </summary> /// <param name="path"> 감시할 디렉토리 경로. </param> /// public IOTracker(String path, OnChangedHandler onChanged, OnRenamedHandler onRenamed) { mOnChanged = onChanged; mOnRenamed = onRenamed; mPath = path; watchers = new Dictionary<string, FileSystemWatcher>(); }
/// <summary> /// 파일 경로와 함께 IOTracker 초기화. /// </summary> /// <param name="path"> 감시할 디렉토리 경로. </param> /// public IOTracker(String path, OnChangedHandler onChanged, OnRenamedHandler onRenamed) { mOnChanged = onChanged; mOnRenamed = onRenamed; mPath = path; watchers = new Dictionary <string, FileSystemWatcher>(); }
public BaseStatusSystem() { requiredConversionChecks = new List <Action>(); extraEnumTypes = new List <Type>(); DoNothing = (obj, status, ov, nv) => { }; Total = ints => { int total = 0; foreach (int i in ints) { total += i; } return(total); }; Bool = ints => { int total = 0; foreach (int i in ints) { total += i; } if (total > 0) { return(1); } else { return(0); } }; MaximumOrZero = ints => { int max = 0; foreach (int i in ints) { if (i > max) { max = i; } } return(max); }; defaultAggs = new Dictionary <SourceType, Func <IEnumerable <int>, int> >(); defaultAggs[SourceType.Feed] = Total; defaultAggs[SourceType.Suppress] = Bool; defaultAggs[SourceType.Prevent] = Bool; valueAggs = new DefaultValueDictionary <TBaseStatus, Aggregator>(); SingleSource = new DefaultHashSet <TBaseStatus>(); statusesCancelledBy = new MultiValueDictionary <TBaseStatus, TBaseStatus>(); statusesExtendedBy = new MultiValueDictionary <TBaseStatus, TBaseStatus>(); statusesThatExtend = new MultiValueDictionary <TBaseStatus, TBaseStatus>(); statusesFedBy = new Dictionary <SourceType, MultiValueDictionary <TBaseStatus, TBaseStatus> >(); converters = new Dictionary <SourceType, Dictionary <StatusPair <TBaseStatus>, Func <int, int> > >(); cancellationConditions = new DefaultValueDictionary <StatusPair <TBaseStatus>, Func <int, bool> >(); foreach (SourceType type in Enum.GetValues(typeof(SourceType))) { statusesFedBy[type] = new MultiValueDictionary <TBaseStatus, TBaseStatus>(); converters[type] = new Dictionary <StatusPair <TBaseStatus>, Func <int, int> >(); } onChangedHandlers = new DefaultValueDictionary <TBaseStatus, DefaultValueDictionary <StatusChange <TBaseStatus>, OnChangedHandler <TObject, TBaseStatus> > >(); extraPreventionConditions = new MultiValueDictionary <TBaseStatus, Func <TObject, TBaseStatus, bool> >(); }
void IHandlers <TObject> .SetHandler(TBaseStatus ignored, TBaseStatus overridden, bool increased, bool effect, OnChangedHandler <TObject> handler) { if (onChangedOverrides == null) { onChangedOverrides = new DefaultValueDictionary <StatusChange, OnChangedHandler <TObject> >(); } onChangedOverrides[new StatusChange(overridden, increased, effect)] = handler; }
void IHandlers <TObject, TBaseStatus> .SetHandler(TBaseStatus status, TBaseStatus overridden, bool increased, bool effect, OnChangedHandler <TObject, TBaseStatus> handler) { if (!onChangedHandlers.ContainsKey(status)) { onChangedHandlers.Add(status, new DefaultValueDictionary <StatusChange <TBaseStatus>, OnChangedHandler <TObject, TBaseStatus> >()); } onChangedHandlers[status][new StatusChange <TBaseStatus>(overridden, increased, effect)] = handler; }
public static void Main(string[] args) { parser.StartNode = "//body"; packetCapture.Start(1000); packetCapture.OnHttpPacketArrival += HttpPacketArriveEvent; OnChangedHandler onChangeHandler = new OnChangedHandler(Program.OnChanged); OnRenamedHandler onRenamedHandler = new OnRenamedHandler(Program.OnRenamed); IOTracker track = new IOTracker("C:\\", onChangeHandler, onRenamedHandler); track.AddFileType("txt"); track.AddFileType("ppt"); try { track.StartWatch(); } catch (Exception e) { Console.Out.WriteLine(e.ToString()); } //StartNetworkingService(); }