public IAsyncOperation<String> CreateOnServerAsync(SyncManager syncManager, String objectType,
     IDictionary<String, Object> fields)
 {
     var manager = JsonConvert.SerializeObject(syncManager);
     var fieldList = new Dictionary<String, Object>(fields);
     return Task.Run(async() => await _syncUpTarget.CreateOnServerAsync(JsonConvert.DeserializeObject<SDK.SmartSync.Manager.SyncManager>(manager), objectType, fieldList)).AsAsyncOperation();
 }
 public string ContinueFetch(SyncManager syncManager)
 {
     var manager = JsonConvert.SerializeObject(syncManager);
     var target = Task.Run(async () => await _soqlSyncDownTarget.ContinueFetch(JsonConvert.DeserializeObject<SDK.SmartSync.Manager.SyncManager>(manager))).AsAsyncOperation();
     var array = target.GetResults();
     return array.ToString();
 }
Exemple #3
0
        public EmdatProcessor(SyncManager syncManager)
            : base(syncManager)
        {
            // redirect python stdin/stdout
            engine.Runtime.IO.SetOutput(Console.OpenStandardOutput(), Console.OutputEncoding);
            engine.Runtime.IO.SetErrorOutput(Console.OpenStandardError(), Console.OutputEncoding);

            // set module search paths
            string scriptDir = Path.GetDirectoryName("C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Projects\\ATUAV_RT\\RealTimeProcessing\\emdat.py");
            string emdatDir = Path.GetDirectoryName("C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Projects\\ATUAV_RT\\RealTimeProcessing\\EMDAT\\src\\");
            string pythonDir = Path.GetDirectoryName("C:\\Python26\\Lib\\");

            ICollection<string> paths = engine.GetSearchPaths();
            if (!String.IsNullOrEmpty(scriptDir))
            {
                paths.Add(scriptDir);
                paths.Add(emdatDir);
                paths.Add(pythonDir);
            }
            else
            {
                paths.Add(Environment.CurrentDirectory);
            }
            engine.SetSearchPaths(paths);

            // import modules
            emdat = engine.ImportModule("emdat");

            // add conditions
            Condition showText = new ShowText(this);
            conditions.Add(showText.Id, showText);

            Condition showIntervention = new ShowIntervention(this);
            conditions.Add(showIntervention.Id, showIntervention);
        }
        /// <summary>
        /// Creates the option button.
        /// </summary>
        /// <param name="manager">The manager.</param>
        public static void CreateButtons(SyncManager manager)
        {
            RemoveButtons();
            syncManager = manager;

            var missing = Type.Missing;
            var menubar = ApplicationData.Application.ActiveExplorer().CommandBars.ActiveMenuBar;

            var newMenuBar = (CommandBarPopup)menubar.Controls.Add(MsoControlType.msoControlPopup, missing, missing, missing, false);
            if (newMenuBar != null)
            {
                newMenuBar.Caption = "GoogleSync";
                newMenuBar.Tag = "GoogleSync";

                syncButton = (CommandBarButton)newMenuBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, 1, true);
                syncButton.Style = MsoButtonStyle.msoButtonCaption;
                syncButton.Caption = "Sync now!";
                syncButton.Click += syncButton_Click;

                optionsButton = (CommandBarButton)newMenuBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, missing, true);
                optionsButton.Style = MsoButtonStyle.msoButtonCaption;
                optionsButton.Caption = "Options";
                optionsButton.Click += optionsButton_Click;

                newMenuBar.Visible = true;
            }
        }
Exemple #5
0
        static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e)
        {
            EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo);
            connector.Connect();

            // sync CPU and Eyetracker clocks
            SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread);

            // detect fixations
            GazeDataFixationHandler fixations = new GazeDataFixationHandler(syncManager);
            connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived;

            /*/ print each event to console
            GazeDataConsolePrintHandler printer = new GazeDataConsolePrintHandler(syncManager);
            //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
            fixations.FixationDetector.FixationEnd += printer.FixationEnd;*/

            // windowed print to console
            GazeDataWindowingPrintHandler printer = new GazeDataWindowingPrintHandler(syncManager);
            //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
            fixations.FixationDetector.FixationEnd += printer.FixationEnd;
            printer.StartWindow();

            while (true)
            {
                Thread.Sleep(3000);
                printer.RenewWindow(true);
            }
        }
 public static async Task TestSetup(TestContext context)
 {
     var settings = new EncryptionSettings(new HmacSHA256KeyGenerator());
     Encryptor.init(settings);
     var options = new LoginOptions(TestCredentials.LoginUrl, TestCredentials.ClientId, TestCallbackUrl, "mobile",
         TestScopes);
     var response = new AuthResponse
     {
         RefreshToken = TestCredentials.RefreshToken,
         AccessToken = TestAuthToken,
         InstanceUrl = TestCredentials.InstanceUrl,
         IdentityUrl = TestCredentials.IdentityUrl,
         Scopes = TestScopes,
     };
     Account account = await AccountManager.CreateNewAccount(options, response);
     account.UserId = TestCredentials.UserId;
     account.UserName = TestCredentials.Username;
     await OAuth2.RefreshAuthToken(account);
     _smartStore = SmartStore.GetGlobalSmartStore();
     _smartStore.ResetDatabase();
     _syncManager = SyncManager.GetInstance();
     _restClient = new RestClient(account.InstanceUrl, account.AccessToken,
         async () =>
         {
             account = AccountManager.GetAccount();
             AuthResponse authResponse =
                 await OAuth2.RefreshAuthTokenRequest(account.GetLoginOptions(), account.RefreshToken);
             account.AccessToken = authResponse.AccessToken;
             return account.AccessToken;
         }
         );
     CreateAccountsSoup();
     _idToNames = await CreateTestAccountsOnServer(CountTestAccounts);
 }
 public string StartFetch(SyncManager syncManager, long maxTimeStamp)
 {
     var manager = JsonConvert.SerializeObject(syncManager);
     var target = Task.Run(async () => await _mruSyncDownTarget.StartFetch(JsonConvert.DeserializeObject<SDK.SmartSync.Manager.SyncManager>(manager),
         maxTimeStamp)).AsAsyncOperation();
     var array = target.GetResults();
     return array.ToString();
 }
 public ContactSyncViewModel()
 {
     Account account = AccountManager.GetAccount();
     if (account == null) return;
     _store = SmartStore.GetSmartStore(account);
     _syncManager = SyncManager.GetInstance(account);
     Contacts = new SortedObservableCollection<ContactObject>();
     FilteredContacts = new SortedObservableCollection<ContactObject>();
     IndexReference = new ObservableCollection<string>();
 }
 public IAsyncOperation<bool> DeleteOnServer(SyncManager syncManager, String objectType, String objectId)
 {
     var manager = JsonConvert.SerializeObject(syncManager);
     return
         Task.Run(
             async () =>
                 await
                     _syncUpTarget.DeleteOnServer(
                         JsonConvert.DeserializeObject<SDK.SmartSync.Manager.SyncManager>(manager), objectType,
                         objectId)).AsAsyncOperation();
 }
        public override async Task<JArray> StartFetch(SyncManager syncManager, long maxTimeStamp)
        {
            string queryToRun = maxTimeStamp > 0 ? AddFilterForReSync(Query, maxTimeStamp) : Query;
            await syncManager.SendRestRequest(RestRequest.GetRequestForResources("v33.0"));
            // cheap call to refresh session
            RestRequest request = BuildQueryRequest(syncManager.RestClient.AccessToken, queryToRun);
            RestResponse response = await syncManager.SendRestRequest(request);
            JArray records = ParseSoapResponse(response);

            return records;
        }
        public override async Task<JArray> StartFetch(SyncManager syncManager, long maxTimeStamp)
        {
            var request = RestRequest.GetRequestForSearch(syncManager.ApiVersion, Query);
            var response = await syncManager.SendRestRequest(request);
            var records = response.AsJArray;

            // Recording total size
            TotalSize = records.Count;

            return records;
        }
        public override async Task <JArray> StartFetch(SyncManager syncManager, long maxTimeStamp)
        {
            string queryToRun = maxTimeStamp > 0 ? AddFilterForReSync(Query, maxTimeStamp) : Query;
            await syncManager.SendRestRequest(RestRequest.GetRequestForResources("v33.0"));

            // cheap call to refresh session
            RestRequest  request  = BuildQueryRequest(syncManager.RestClient.AccessToken, queryToRun);
            RestResponse response = await syncManager.SendRestRequest(request);

            JArray records = ParseSoapResponse(response);

            return(records);
        }
Exemple #13
0
        protected override void InitializeInner()
        {
            _grpsServer = new Server
            {
                Services =
                {
                    SyncManager.BindService(new SyncManagerImpl(_synchronizationContext,                               _chainDataServicesManager,     _hashCalculationsRepository, _log)),
                    TransactionalChainManager.BindService(new TransactionalChainManagerImpl(_chainDataServicesManager, _identityKeyProvidersRegistry, _hashCalculationsRepository, _log))
                },

                Ports = { { _host, _interactionConfiguration.Port, ServerCredentials.Insecure } }
            };
        }
Exemple #14
0
            public void EmitsSyncingWhenStartingFullSync()
            {
                SyncProgress?progressAfterFullSync = null;

                Queue.Dequeue().Returns(Pull);

                SyncManager.ForceFullSync();
                SyncManager.ProgressObservable.Subscribe(
                    progress => progressAfterFullSync = progress);

                progressAfterFullSync.Should().NotBeNull();
                progressAfterFullSync.Should().Be(SyncProgress.Syncing);
            }
Exemple #15
0
            public void EmitsSyncingWhenStartingPush()
            {
                SyncProgress?progressAfterPushing = null;

                Queue.Dequeue().Returns(Push);

                SyncManager.PushSync();
                SyncManager.ProgressObservable.Subscribe(
                    progress => progressAfterPushing = progress);

                progressAfterPushing.Should().NotBeNull();
                progressAfterPushing.Should().Be(SyncProgress.Syncing);
            }
            public async Task TracksIfSyncFails(PushNotificationSyncSourceState sourceState)
            {
                var exception = new Exception();

                SyncManager.ForceFullSync().Returns(Observable.Throw <SyncState>(exception));
                var interactor = CreateSyncInteractor(sourceState);

                await interactor.Execute().SingleAsync();

                AnalyticsService.PushNotificationSyncStarted.Received().Track(sourceState.ToString());
                AnalyticsService.PushNotificationSyncFinished.Received().Track(sourceState.ToString());
                AnalyticsService.PushNotificationSyncFailed.Received().Track(sourceState.ToString(), exception.GetType().FullName, exception.Message, exception.StackTrace);
            }
        public void EditSettings(SyncManager _syncMgr)
        {
            syncMgr = _syncMgr;

            LoadSettings();

            this.ShowDialog();

            if (bIsOK)
            {
                SaveSettings();
            }
        }
 public async Task<String> CreateOnServerAsync(SyncManager syncManager, String objectType, Dictionary<String, Object> fields)
 {
     JToken id;
     var request = RestRequest.GetRequestForCreate(syncManager.ApiVersion, objectType, fields);
     var response = await syncManager.SendRestRequest(request);
     var responseObject = response.AsJObject;
     responseObject.TryGetValue(Constants.Lid, out id);
     if (id != null)
     {
         return response.Success ? id.ToString() : null;
     }
     return null;
 }
            public async Task InitiatesPushSync()
            {
                var preferences = new MockPreferences();

                PreferencesSubject.OnNext(preferences);
                var observable = Observable.Return(preferences);

                InteractorFactory.UpdatePreferences(Arg.Any <EditPreferencesDTO>()).Execute().Returns(observable);

                ViewModel.ToggleTwentyFourHourSettings.Execute();
                TestScheduler.Start();

                SyncManager.Received().PushSync();
            }
 private void SyncWithServerAsync(ApplicationUser user)
 {
     CurrentUser = _context.Users.SingleOrDefault(u => u.Id.Equals(user.Id));
     if (CurrentUser.AutSync && DoIHaveInternet() &&
         ((int)GetValueFromProperties(StoreKeys.AppMode) == 0))
     {
         NetworkService ns = new NetworkService()
         {
             AuthCookie = GetValueFromProperties(StoreKeys.AuthCookie) as string
         };
         var syncManager = new SyncManager(_context, CurrentUser.Id, ns);
         syncManager.SyncAsync();
     }
 }
            public async Task InitiatesPushSync()
            {
                var oldValue    = false;
                var preferences = new MockPreferences {
                    CollapseTimeEntries = oldValue
                };

                PreferencesSubject.OnNext(preferences);

                ViewModel.ToggleTimeEntriesGrouping.Execute();
                TestScheduler.Start();

                await SyncManager.Received().PushSync();
            }
        public IAsyncOperation <bool> UpdateOnServer(SyncManager syncManager, String objectType, String objectId,
                                                     IDictionary <String, Object> fields)
        {
            var manager   = JsonConvert.SerializeObject(syncManager);
            var fieldList = new Dictionary <String, Object>(fields);

            return
                (Task.Run(
                     async() =>
                     await
                     _syncUpTarget.UpdateOnServer(
                         JsonConvert.DeserializeObject <SDK.SmartSync.Manager.SyncManager>(manager), objectType,
                         objectId, fieldList)).AsAsyncOperation());
        }
        int count = 0; //testing

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Initializes default fixation detector to Tobii Studio default **TODO**
        /// Analyzer = EFDAnalyzer.fdaFixationSize
        /// Filter = EFDFilter.fdfAveraging
        /// </summary>
        /// <param name="syncManager"></param>
        public GazeDataFixationHandler(SyncManager syncManager)
            : base(syncManager)
        {
            fixationDetector = new FixDetectorClass();
            fixationDetector.init();

            // TODO determine settings of Tobii Studio fixation detector
            fixationDetector.Analyzer = EFDAnalyzer.fdaFixationSize;
            fixationDetector.Filter = EFDFilter.fdfAveraging;
            // fixationDetector.FilterBufferSize =
            // fixationDetector.FilterWeight =
            // fixationDetector.MinFixDuration =
            // fixationDetector.UpdateInterval =
        }
Exemple #24
0
    /// <summary>
    /// Returns the dataset loaded from the given document data.
    /// </summary>
    /// <param name="documentData">Document data to make the dataset from</param>
    /// <param name="taskType">Task type</param>
    /// <param name="taskObjectType">Task object type</param>
    protected virtual DataSet GetDataSet(string documentData, TaskTypeEnum taskType, string taskObjectType)
    {
        var man = SyncManager.GetInstance();

        man.OperationType = OperationTypeEnum.Synchronization;

        string  className = DocumentHierarchyHelper.GetNodeClassName(documentData, ExportFormatEnum.XML);
        DataSet ds        = man.GetSynchronizationTaskDataSet(taskType, className, taskObjectType);

        XmlParserContext xmlContext = new XmlParserContext(null, null, null, XmlSpace.None);
        XmlReader        reader     = new XmlTextReader(documentData, XmlNodeType.Element, xmlContext);

        return(DataHelper.ReadDataSetFromXml(ds, reader, null, null));
    }
Exemple #25
0
        const string MODIFIED_TOKEN    = "[modified]";              // name of a child object added to watch for object reset

        private void Awake()
        {
            _syncManager = FindObjectOfType <SyncManager>();

            if (_syncManager == null)
            {
                enabled = false;
                return;
            }

            _syncManager.onInstanceAdded += SyncManager_InstanceAdded;
            _syncManager.onSyncUpdateEnd += SyncManager_SyncUpdateEnd;
            _syncManager.onProjectClosed += SyncManager_ProjectClosed;
        }
            public void ReturnsAnObservableWhichEmitsWhenTheForceFullSyncObservableEmits()
            {
                bool emitted = false;
                var  forceFullSyncSubject = new Subject <SyncState>();

                SyncManager.ForceFullSync().Returns(forceFullSyncSubject.AsObservable());

                var observable = DataSource.StartSyncing();

                observable.Subscribe(_ => emitted = true);
                forceFullSyncSubject.OnNext(SyncState.Pull);

                emitted.Should().BeTrue();
            }
            public async Task RunsTheOperationsInCorrectOrder()
            {
                var interactor = InteractorFactory.CreateDefaultWorkspace();

                await interactor.Execute();

                Received.InOrder(() =>
                {
                    DataSource.Workspaces.Create(Arg.Any <IThreadSafeWorkspace>());
                    DataSource.User.Update(Arg.Any <IThreadSafeUser>());
                    SyncManager.PushSync();
                    SyncManager.ForceFullSync();
                });
            }
        public NoteSyncViewModel()
        {
            Account account = AccountManager.GetAccount();

            if (account == null)
            {
                return;
            }
            _store         = SmartStore.GetSmartStore();
            _syncManager   = SyncManager.GetInstance(account);
            Notes          = new SortedObservableCollection <NoteObject>();
            FilteredNotes  = new SortedObservableCollection <NoteObject>();
            IndexReference = new ObservableCollection <string>();
        }
            public async ThreadingTask UnsubscribesFromTheSignalAfterLogout()
            {
                var subject = new Subject <TimeSpan>();

                BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable());
                await DataSource.StartSyncing();

                SyncManager.ClearReceivedCalls();
                await DataSource.Logout();

                subject.OnNext(MinimumTimeInBackgroundForFullSync + TimeSpan.FromSeconds(1));

                await SyncManager.DidNotReceive().ForceFullSync();
            }
Exemple #30
0
            public void CompletesWhenSleepStateOccursAfterPushSync()
            {
                bool finished = false;

                SyncManager.PushSync();

                var observable = SyncManager.Freeze().Subscribe(_ => finished = true);

                OrchestratorStates.OnNext(Push);
                OrchestratorStates.OnNext(Sleep);

                SyncManager.IsRunningSync.Should().BeFalse();
                finished.Should().BeTrue();
            }
Exemple #31
0
            public void KeepsWaitingWhileNoSleepStateOccursAfterPushSync()
            {
                bool finished = false;

                Queue.Dequeue().Returns(Push);
                SyncManager.PushSync();

                var observable = SyncManager.Freeze().Subscribe(_ => finished = true);

                OrchestratorStates.OnNext(Push);

                SyncManager.IsRunningSync.Should().BeTrue();
                finished.Should().BeFalse();
            }
Exemple #32
0
        /// <summary>
        /// Get content documents from sfdc
        /// </summary>
        internal async Task <IList <Model.Models.ContentDocument> > GetFromSoql(SyncManager syncManager)
        {
            var results = new List <Model.Models.ContentDocument>();
            var target  = new SoqlSyncDownTarget(SoqlQuery);

            var page = await target.StartFetch(syncManager, -1);

            while (page != null && page.Count > 0)
            {
                results.AddRange(page.Select(x => x.ToObject <Model.Models.ContentDocument>()).ToList());
                page = await target.ContinueFetch(syncManager);
            }
            return(results);
        }
Exemple #33
0
        /// <summary>
        /// Connects to found eyetrackers, synchronizes CPU and eyetracker clocks, and attaches event handlers.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">Contains found EyetrackerInfo</param>
        static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e)
        {
            EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo);

            connector.Connect();

            // sync CPU and Eyetracker clocks
            SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread);

            // detect fixations
            FixationDetector fixations = new FixationDetector(syncManager);

            connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived;

            /*/ 1. print each event to console
             * ConsolePrinter printer = new ConsolePrinter(syncManager);
             * //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
             * fixations.FixDetector.FixationEnd += printer.FixationEnd;//*/

            /*/ 2. windowed print to console
             * WindowingConsolePrinter printer = new WindowingConsolePrinter(syncManager);
             * //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
             * fixations.FixDetector.FixationEnd += printer.FixationEnd;
             *
             * printer.StartWindow();
             * while (true)
             * {
             *  Thread.Sleep(windowDuration);
             *  printer.ProcessWindow(cumulativeWindows);
             * }//*/

            // 3. process windows with EMDAT
            EmdatProcessor processor = new EmdatProcessor(syncManager);

            if (aoiFilePath != null)
            {
                processor.AoiFilePath = aoiFilePath;
            }

            connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived;
            fixations.FixDetector.FixationEnd     += processor.FixationEnd;

            processor.StartWindow();
            while (true)
            {
                Thread.Sleep(windowDuration);
                processor.ProcessWindow(cumulativeWindows);
            }//*/
        }
        private SyncState LoadState(long ssid)
        {
            var state = SyncManager.LoadState(ssid);

            if (state != null)
            {
                // Fix user colors
                foreach (var user in state.Users)
                {
                    UserColors.CountColor(user);
                }
            }

            return(state);
        }
        private async void UploadData()
        {
            SyncManager SyncManager = new SyncManager();

            if (SyncManager.CheckSyncConditions(SyncPolicy.Forced))
            {
                if ((Reachability.InternetConnectionStatus() == NetworkStatus.ReachableViaWiFiNetwork) ||
                    (Reachability.InternetConnectionStatus() != NetworkStatus.ReachableViaWiFiNetwork && !Settings.PreferUnmeteredConnection))
                {
                    var src   = new CancellationTokenSource();
                    var token = src.Token;
                    await SyncManager.Synchronize(token);
                }
            }
        }
Exemple #36
0
            protected void Reset()
            {
                var analyticsService        = Substitute.For <IAnalyticsService>();
                var lastTimeUsageStorage    = Substitute.For <ILastTimeUsageStorage>();
                var timeService             = Substitute.For <ITimeService>();
                var automaticSyncingService = Substitute.For <IAutomaticSyncingService>();

                Queue        = new SyncStateQueue();
                Transitions  = new TransitionHandlerProvider(analyticsService);
                Scheduler    = new TestScheduler();
                StateMachine = new StateMachine(Transitions, Scheduler);
                EntryPoints  = new StateMachineEntryPoints();
                Orchestrator = new StateMachineOrchestrator(StateMachine, EntryPoints);
                SyncManager  = new SyncManager(Queue, Orchestrator, analyticsService, lastTimeUsageStorage, timeService, automaticSyncingService);
            }
Exemple #37
0
            public async Task StartsTheSyncAlgorithm()
            {
                View.Select(
                    Arg.Any <string>(),
                    Arg.Any <IEnumerable <SelectOption <IThreadSafeWorkspace> > >(),
                    Arg.Any <int>())
                .Returns(Observable.Return(new MockWorkspace {
                    Id = workspaceId
                }));

                ViewModel.PickDefaultWorkspace.Execute();
                TestScheduler.Start();

                SyncManager.Received().PushSync();
            }
Exemple #38
0
        public async Task <String> CreateOnServerAsync(SyncManager syncManager, String objectType, Dictionary <String, Object> fields)
        {
            JToken id;
            var    request  = RestRequest.GetRequestForCreate(syncManager.ApiVersion, objectType, fields);
            var    response = await syncManager.SendRestRequest(request);

            var responseObject = response.AsJObject;

            responseObject.TryGetValue(Constants.Lid, out id);
            if (id != null)
            {
                return(response.Success ? id.ToString() : null);
            }
            return(null);
        }
        public override async Task <JArray> ContinueFetch(SyncManager syncManager)
        {
            if (String.IsNullOrWhiteSpace(NextRecordsUrl))
            {
                return(null);
            }

            var request  = new RestRequest(HttpMethod.Get, NextRecordsUrl);
            var response = await syncManager.SendRestRequest(request);

            JObject responseJson = response.AsJObject;
            var     records      = responseJson.ExtractValue <JArray>(Constants.Records);

            return(records);
        }
Exemple #40
0
        internal async Task <IList <Model.Models.MobileAppConfig> > GetFromSoql(SyncManager syncManager)
        {
            List <Model.Models.MobileAppConfig> results = new List <Model.Models.MobileAppConfig>();
            var target = new SoqlSyncDownTarget(SoqlQuery);

            // Sync to JSON
            var _results = await target.StartFetch(syncManager, -1);

            while (_results != null && _results.Count > 0)
            {
                results.AddRange(_results.Select(x => x.ToObject <Model.Models.MobileAppConfig>()).ToList());
                _results = await target.ContinueFetch(syncManager);
            }
            return(results);
        }
Exemple #41
0
        void OnChatAdded(object sender, ChatViewAddedEventArgs e)
        {
            Trace.Call(sender, e);

            GLib.Idle.Add(delegate {
                var chatView = (ChatView)CreateChatView(e.ChatModel,
                                                        e.ChatType,
                                                        e.ProtocolManagerType);
                chatView.ID       = e.ChatID;
                chatView.Name     = e.ChatID;
                chatView.Position = e.ChatPosition;
                f_Chats.Add(chatView);

                if (f_Config != null)
                {
                    chatView.ApplyConfig(f_Config);
                }

                // POSSIBLE REMOTING CALL
                int idx = GetSortedChatPosition(chatView);
#if LOG4NET
                f_Logger.Debug("OnChatAdded(): adding " +
                               "<" + chatView.ID + "> at: " + idx);
#endif
                if (idx == -1)
                {
                    f_Notebook.AppendPage(chatView, chatView.LabelWidget);
                }
                else
                {
                    f_Notebook.InsertPage(chatView, chatView.LabelWidget, idx);
                }

                // notify the sync manager that the ChatView is ready to be synced
                SyncManager.ReleaseSync(chatView);

#if GTK_SHARP_2_10
                f_Notebook.SetTabReorderable(chatView, true);
#endif
                chatView.ShowAll();

                if (ChatAdded != null)
                {
                    ChatAdded(this, new ChatViewManagerChatAddedEventArgs(chatView));
                }
                return(false);
            });
        }
        public void ClearTheDatabaseOnlyOnceTheSyncManagerFreezeEmitsAValueEvenThoughItDoesNotComplete()
        {
            var freezingSubject = new Subject <SyncState>();

            SyncManager.Freeze().Returns(freezingSubject.AsObservable());

            var observable = interactor.Execute().Publish();

            observable.Connect();

            Database.DidNotReceive().Clear();

            freezingSubject.OnNext(SyncState.Sleep);

            Database.Received().Clear();
        }
Exemple #43
0
            public void UnsubscribesFromTheBackgroundServiceObservableWhenExceptionIsCaught()
            {
                var subject       = new Subject <TimeSpan>();
                var errorsSubject = new Subject <Exception>();

                BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable());
                SyncManager.Errors.Returns(errorsSubject);

                AutomaticSyncingService.SetupAutomaticSync(UserAccessManager);
                LoggedIn.OnNext(DataSource);
                SyncManager.ClearReceivedCalls();
                errorsSubject.OnNext(new Exception());
                subject.OnNext(MinimumTimeInBackgroundForFullSync);

                SyncManager.DidNotReceive().ForceFullSync();
            }
        public override async Task<JArray> StartFetch(SyncManager syncManager, long maxTimeStamp)
        {
            string queryToRun = maxTimeStamp > 0 ? AddFilterForReSync(Query, maxTimeStamp) : Query;
            RestRequest request = RestRequest.GetRequestForQuery(syncManager.ApiVersion, queryToRun);
            var response = await syncManager.SendRestRequest(request);
            JObject responseJson = response.AsJObject;
            var records = responseJson.ExtractValue<JArray>(Constants.Records);

            // Record total size
            TotalSize = responseJson.ExtractValue<int>(Constants.TotalSize);

            // Capture next records url
            NextRecordsUrl = responseJson.ExtractValue<string>(Constants.NextRecordsUrl);

            return records;
        }
Exemple #45
0
        private static int windowDuration = 3000; // ms

        #endregion Fields

        #region Methods

        /// <summary>
        /// Connects to found eyetrackers, synchronizes CPU and eyetracker clocks, and attaches event handlers.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">Contains found EyetrackerInfo</param>
        static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e)
        {
            EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo);
            connector.Connect();

            // sync CPU and Eyetracker clocks
            SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread);

            // detect fixations
            FixationDetector fixations = new FixationDetector(syncManager);
            connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived;

            /*/ 1. print each event to console
            ConsolePrinter printer = new ConsolePrinter(syncManager);
            //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
            fixations.FixDetector.FixationEnd += printer.FixationEnd;//*/

            /*/ 2. windowed print to console
            WindowingConsolePrinter printer = new WindowingConsolePrinter(syncManager);
            //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived;
            fixations.FixDetector.FixationEnd += printer.FixationEnd;

            printer.StartWindow();
            while (true)
            {
                Thread.Sleep(windowDuration);
                printer.ProcessWindow(cumulativeWindows);
            }//*/

            // 3. process windows with EMDAT
            EmdatProcessor processor = new EmdatProcessor(syncManager);
            if (aoiFilePath != null)
            {
                processor.AoiFilePath = aoiFilePath;
            }

            connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived;
            fixations.FixDetector.FixationEnd += processor.FixationEnd;

            processor.StartWindow();
            while (true)
            {
                Thread.Sleep(windowDuration);
                processor.ProcessWindow(cumulativeWindows);
            }//*/
        }
Exemple #46
0
        /// <summary>
        /// Initializes fixation detector to Tobii Studio default
        /// </summary>
        /// <param name="syncManager"></param>
        public FixationDetector(SyncManager syncManager)
            : base(syncManager)
        {
            fixationDetector = new FixDetector();
            fixationDetector.init();

            // mimic Tobii Fixation Filter
            // Detailed information available in Tobii Studio User Manual 1.X
            // http://www.tobii.com/Global/Analysis/Downloads/User_Manuals_and_Guides/Tobii_Studio1.X_UserManual.pdf
            // as well as the appendix of Olsson, P. 2007. Real-time and offline filters for eye tracking. Msc thesis, KTH Royal Institue of Technology, April 2007.
            fixationDetector.Analyzer = EFDAnalyzer.fdaFixationSize;
            fixationDetector.Filter = EFDFilter.fdfAveraging;
            fixationDetector.setAnalyzerProperty("fixation_radius", 35);
            fixationDetector.setAnalyzerProperty("noise_filter", 1);
            fixationDetector.FilterBufferSize = 5;
            fixationDetector.MinFixDuration = 0;
        }
Exemple #47
0
        static void Main(string[] args)
        {
            SyncManager _syncManager = new SyncManager(1000);

            _syncManager.AddSync(new QueueCollection());
            _syncManager.SyncBegin += new SyncManager.SyncBeginHandler(_syncManager_SyncBegin);
            _syncManager.SyncComplete += new EventHandler(_syncManager_SyncComplete);
            _syncManager.SyncFailed += new SyncManager.SyncFailedHandler(_syncManager_SyncFailed);
            _syncManager.SyncRetry += new SyncManager.SyncRetryHandler(_syncManager_SyncRetry);
            _syncManager.SyncFinish += new SyncManager.SyncFinishHandler(_syncManager_SyncFinish);

            _syncManager.BeginSync();

            Console.ReadLine();

            _syncManager.EndSync();
        }
Exemple #48
0
        static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e)
        {
            EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo);
            connector.Connect();

            // sync CPU and Eyetracker clocks
            SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread);

            // detect fixations
            GazeDataFixationHandler fixations = new GazeDataFixationHandler(syncManager);
            connector.AddGazeDataHandler(fixations.GazeDataReceived);

            // print to console
            GazeDataConsolePrintHandler printer = new GazeDataConsolePrintHandler(syncManager);
            //connector.AddGazeDataHandler(printer.GazeDataReceived);
            fixations.FixationDetector.FixationEnd += printer.FixationEnd;
        }
Exemple #49
0
        private async void btnSync_Click(object sender, EventArgs e)
        {
            SyncManager syncManager = new SyncManager(_logger);

            WaitingBar.Visible = true;

            WaitingBar.StartWaiting();

            btnSync.Enabled = false;

            await syncManager.Sync();

            btnSync.Enabled = true;

            WaitingBar.StopWaiting();

            WaitingBar.Visible = false;

            MessageBoxDisplayService.ShowSuccess("Sincronizacion Finalizada con Exito");
        }
        public async override Task<JArray> StartFetch(SyncManager syncManager, long maxTimeStamp)
        {
            var request = RestRequest.GetRequestForMetadata(syncManager.ApiVersion, ObjectType);
            var response = await syncManager.SendRestRequest(request);
            var recentItems = SyncManager.Pluck<string>(response.AsJObject.ExtractValue<JArray>(Constants.RecentItems),
                Constants.Id);
            // Building SOQL query to get requested at
            String soql = SOQLBuilder.GetInstanceWithFields(FieldList.ToArray()).From(ObjectType).Where("Id IN ('" + String.Join("', '", recentItems) + "')").Build();

            // Get recent items attributes from server
            request = RestRequest.GetRequestForQuery(syncManager.ApiVersion, soql);
            response = await syncManager.SendRestRequest(request);
            var responseJson = response.AsJObject;
            var records = responseJson.ExtractValue<JArray>(Constants.Records);

            // Recording total size
            TotalSize = records.Count;

            return records;
        }
Exemple #51
0
        private void ConnectToTracker(EyetrackerInfo info)
        {
            try
            {
                _connectedTracker = EyetrackerFactory.CreateEyetracker(info);
                _connectedTracker.ConnectionError += HandleConnectionError;
                _connectionName = info.ProductId;

                _syncManager = new SyncManager(_clock, info);

                _connectedTracker.GazeDataReceived += _connectedTracker_GazeDataReceived;
                _connectedTracker.FramerateChanged += _connectedTracker_FramerateChanged;
            }
            catch (EyetrackerException ee)
            {
                if(ee.ErrorCode == 0x20000402)
                {
                    MessageBox.Show("Failed to upgrade protocol. " +
                        "This probably means that the firmware needs" +
                        " to be upgraded to a version that supports the new sdk.","Upgrade Failed",MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show("Eyetracker responded with error " + ee, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                DisconnectTracker();
            }
            catch(Exception)
            {
                MessageBox.Show("Could not connect to eyetracker.","Connection Failed",MessageBoxButtons.OK,MessageBoxIcon.Error);
                DisconnectTracker();
            }

            UpdateUIElements();
        }
Exemple #52
0
        public EmdatProcessor(SyncManager syncManager)
            : base(syncManager)
        {
            // redirect python stdin/stdout
            engine.Runtime.IO.SetOutput(Console.OpenStandardOutput(), Console.OutputEncoding);
            engine.Runtime.IO.SetErrorOutput(Console.OpenStandardError(), Console.OutputEncoding);

            // set module search paths
            string scriptDir = Path.GetDirectoryName("C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Projects\\ATUAV_RT\\RealTimeProcessing\\emdat.py");
            string emdatDir = Path.GetDirectoryName("C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Projects\\ATUAV_RT\\RealTimeProcessing\\EMDAT\\src\\");
            string pythonDir = Path.GetDirectoryName("C:\\Python26\\Lib\\");

            ICollection<string> paths = engine.GetSearchPaths();
            if (!String.IsNullOrEmpty(scriptDir))
            {
                paths.Add(scriptDir);
                paths.Add(emdatDir);
                paths.Add(pythonDir);
            }
            else
            {
                paths.Add(Environment.CurrentDirectory);
            }
            engine.SetSearchPaths(paths);

            // import modules
            emdat = engine.ImportModule("emdat");

            // add conditions
            foreach (Type type in AllConditionTypes)
            {
                ConstructorInfo info = type.GetConstructor(new[] { typeof(EmdatProcessor) });
                Condition condition = (Condition) info.Invoke(new object[] { this } );
                conditions.Add(condition.Id, condition);
            }
        }
        public async Task<bool> DeleteOnServer(SyncManager syncManager, String objectType, String objectId)
        {
            var request = RestRequest.GetRequestForDelete(syncManager.ApiVersion, objectType, objectId);
            var response = await syncManager.SendRestRequest(request);

            return response.Success;
        }
 public abstract Task<JArray> ContinueFetch(SyncManager syncManager);
 public abstract Task<JArray> StartFetch(SyncManager syncManager, long maxTimeStamp);
        public async Task<String> FetchLastModifiedDate(SyncManager syncManager, String objectType, String objectId)
        {
            String query = SOQLBuilder.GetInstanceWithFields(Constants.LastModifiedDate)
                .From(objectType)
                .Where(Constants.Id + " = '" + objectId + "'")
                .Build();

            var lastModResponse = await syncManager.SendRestRequest(RestRequest.GetRequestForQuery(syncManager.ApiVersion, query));
            if (lastModResponse.Success)
            {
                return
                    lastModResponse.AsJObject.ExtractValue<JArray>(Constants.Records)[0].Value<JObject>()
                        .ExtractValue<string>(Constants.LastModifiedDate);
            }
                return null;
        }
 public GazeDataSynchronizedHandler(SyncManager syncManager)
     : base(syncManager)
 {
 }
        public override async Task<JArray> ContinueFetch(SyncManager syncManager)
        {
            if (String.IsNullOrWhiteSpace(NextRecordsUrl))
            {
                return null;
            }

            var request = new RestRequest(HttpMethod.Get, NextRecordsUrl);
            var response = await syncManager.SendRestRequest(request);
            JObject responseJson = response.AsJObject;
            var records = responseJson.ExtractValue<JArray>(Constants.Records);
            return records;
        }
 public HashSet<String> GetIdsOfRecordsToSyncUp(SyncManager syncManager, String soupName)
 {
     return syncManager.GetDirtyRecordIds(soupName, SmartStore.Store.SmartStore.SoupEntryId);
 }
Exemple #60
0
    protected virtual void Awake()
    {
        _anim = GetComponent<Animator>();

        _hash = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<HashIDs>();
        _syncManager = GameObject.FindGameObjectWithTag(Tags.networkController).GetComponent<SyncManager>();
        _modelInfo = GetComponent<ModelInfo>();

        // Create a marker object for player's ranged target.
        _rangedTarget = InstantiateAsChild(ResourceDirectory.Instance.Creatures["redMarker"], transform) as GameObject;

        // Create IK controller for right arm.
        GameObject rArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject;
        rArmIkController.transform.parent = gameObject.transform;
        _rArmIkLimb = rArmIkController.GetComponent<IkLimb>();
        _rArmIkLimb.upperArm = _modelInfo.rArm.transform;
        _rArmIkLimb.forearm = _modelInfo.rForearm.transform;
        _rArmIkLimb.hand = _modelInfo.rHand.transform;
        _rArmIkLimb.elbowTarget = _modelInfo.rArmPistolIkElbowTarget;
        _rArmIkLimb.target = _modelInfo.rArmPistolIkHandTarget.transform;
        _rArmIkLimb.IsEnabled = false;
        _rArmIkLimb.debug = true;
        _rArmIkLimb.transition = 0.65f;
        _rArmIkLimb.handRotationPolicy = IkLimb.HandRotations.UseTargetRotation;

        // Create IK controller for left arm.
        GameObject lArmIkController = GameObject.Instantiate(Resources.Load("Prefabs/Animation/LimbIkController")) as GameObject;
        lArmIkController.transform.parent = gameObject.transform;
        _lArmIkLimb = lArmIkController.GetComponent<IkLimb>();
        _lArmIkLimb.upperArm = _modelInfo.lArm.transform;
        _lArmIkLimb.forearm = _modelInfo.lForearm.transform;
        _lArmIkLimb.hand = _modelInfo.lHand.transform;
        _lArmIkLimb.elbowTarget = _modelInfo.lArmPistolIkElbowTarget;
        _lArmIkLimb.target = _modelInfo.lArmPistolIkHandTarget;
        _lArmIkLimb.IsEnabled = false;
        _lArmIkLimb.debug = true;
        _lArmIkLimb.transition = 0.9f;

        // Add DamageLocation scripts to skeleton.
        DamageLocation headDamageLocation = _modelInfo.head.AddComponent<DamageLocation>();
        headDamageLocation.damageLocationType = DamageLocationType.Head;
        headDamageLocation.player = this.gameObject;
        DamageLocation torsoDamageLocation = _modelInfo.torso.AddComponent<DamageLocation>();
        torsoDamageLocation.damageLocationType = DamageLocationType.Torso;
        torsoDamageLocation.player = this.gameObject;
        DamageLocation legsDamageLocation = _modelInfo.legs.AddComponent<DamageLocation>();
        legsDamageLocation.damageLocationType = DamageLocationType.Legs;
        legsDamageLocation.player = this.gameObject;

        // Create initial NoWeapon object.
        EquipWeaponByName("NoWeapon");

        // Create camera orbiter object.
        MouseOrbit = (GameObject.Instantiate(ResourceDirectory.Instance.Camera["Orbiter"]) as GameObject).GetComponent<MouseOrbit>();
        MouseOrbit.transform.parent = transform;
        MouseOrbit.target = transform;
    }