public void ScreenshotActionFired(Image img, int timestamp) { _LastScreenshotTime = timestamp; _NotificationHandler.ScreenshotTaken(); int delta = TimingHelper.CalcTimestampDelta(CurrentContext .GetInstance().Session.StartTimestamp, timestamp); CacheProcessor.SaveImage(img, delta.ToString(), CurrentContext.GetInstance().Session.StartTimestamp.ToString(), false); CurrentContext.GetInstance().Session.PostTime = delta; CurrentContext.GetInstance().Session.StopTime = -1; // AHMED TODO add app titles instead of TEST Process[] processes = Process.GetProcesses(); var sb = new System.Text.StringBuilder(); foreach (Process p in processes) { if (!String.IsNullOrEmpty(p.MainWindowTitle)) { sb.Append(p.MainWindowTitle.ToString() + "***"); } } string outputSb = sb.ToString().Replace(",", " - "); if (!CurrentContext.GetInstance().Session.ActiveAppTitles.Contains(outputSb)) { CurrentContext.GetInstance().Session.ActiveAppTitles.Add(outputSb); } // Ahmed END script /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ // while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); // CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ }
public void StopSession(bool unsubscribe) { Context.Timer.Timer.GetInstance().StopTimer(); ErrorTimer.GetInstance().StopTimer(); if (unsubscribe) { ActivityProcessor.GetInstance().UnsubscribeFromMouseKeyEvents(); } int delta = TimingHelper.CalcTimestampDelta(CurrentContext .GetInstance().Session.StartTimestamp, TimingHelper.GetCurrentTimestamp()); //if (delta < CommonConst.DELAY) // return; CurrentContext.GetInstance().Session.PostTime = delta; CurrentContext.GetInstance().Session.StopTime = delta; ThreadPool.QueueUserWorkItem(new WaitCallback((s) => { /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); // CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ _NotificationHandler.SessionStopped(); })); }
public void StartSession(bool subscribe) { CacheStrategyExecutor.GetInstance().CacheStrategy.SetServerApiProvider(_ServerApiProvider); CurrentContext.GetInstance().Session = SessionFactory.CreateSession(); _LastActivityTime = TimingHelper.GetCurrentTimestamp(); _LastScreenshotTime = _LastActivityTime; ThreadPool.QueueUserWorkItem(new WaitCallback((s) => { /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); CurrentContext.GetInstance().Session.StopTime = -1; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); //CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ })); ActivityProcessor.GetInstance().SetActivityHandler(this); if (subscribe) { ActivityProcessor.GetInstance().SubscribeToMouseKeyEvents(); } Context.Timer.Timer.GetInstance().InitTimer(CommonConst.SESSION_INTERVAL, CommonConst.DELAY, this); Context.Timer.Timer.GetInstance().StartTimer(); }
public void CheckConnectionEventFired() { /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("CheckConnectionEventFired() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("CheckConnectionEventFired() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ // CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(string.Empty); // CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("CheckConnectionEventFired() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ }