Пример #1
0
        public void ChangeDirectory(string newDirectory)
        {
            Log.InfoFormat("ChangeDirectory: {0}", newDirectory);
            if (CurrentDirectory != newDirectory)
            {
                CurrentDirectory = newDirectory;

                using(RefreshManager<DirectoryItem> refreshManager = new RefreshManager<DirectoryItem>(Items))
                {
                    foreach(string filename in Directory.GetFiles(newDirectory))
                    {
                        DirectoryItem directoryItem;
                        string key = filename.ToLower();
                        if( refreshManager.Contains(key, out directoryItem))
                        {
                            // todo: refresh this
                        }
                        else
                        {
                            Items.Add(new DirectoryItem(newDirectory, filename, key));
                        }
                    }
                }
            }
            Log.InfoFormat("ChangeDirectory: Items has now {0} elements", Items.Count);
        }
Пример #2
0
 public override void Refresh(ObservableCollection <DataObject> objects)
 {
     using (var manager = new RefreshManager <ProcessDataObject>(objects))
     {
         foreach (Process p in Process.GetProcesses())
         {
             ProcessDataObject pdo = null;
             try
             {
                 if (manager.Contains(p.Id.ToString(), out pdo))
                 {
                     pdo.Refresh(p);
                 }
                 else
                 {
                     objects.Add(new ProcessDataObject(p));
                 }
             }
             catch (Exception e)
             {
                 Log.Error(string.Format("Exception caught while analysing process {0}", p), e);
             }
         }
     }
 }
Пример #3
0
        public override void Refresh(ObservableCollection <DataObject> objects)
        {
            using (var manager = new RefreshManager <ServiceDataObject>(objects))
            {
                using (NativeSCManager scm = new NativeSCManager(MachineName))
                {
                    foreach (ENUM_SERVICE_STATUS_PROCESS essp in scm.Refresh(ServicesType))
                    {
                        using (NativeService ns = new NativeService(scm, essp.ServiceName))
                        {
                            ServiceDataObject sdo = null;

                            if (manager.Contains(essp.ServiceName, out sdo))
                            {
                                sdo.UpdateFrom(essp);
                            }
                            else
                            {
                                objects.Add(new ServiceDataObject(ns, essp));
                            }
                        }
                    }
                }
            }
        }
Пример #4
0
 private void RefreshEntries(RefreshManager <UninstallerDataObject> manager, RegistryKey rootKey, string keyName)
 {
     using (RegistryKey hkKey = rootKey.OpenSubKey(keyName, false))
     {
         foreach (string subKeyName in hkKey.GetSubKeyNames())
         {
             string keyPath = string.Format("{0}\\{1}", keyName, subKeyName);
             UninstallerDataObject mdo;
             try
             {
                 if (manager.Contains(subKeyName, out mdo))
                 {
                     mdo.Refresh(rootKey, keyPath, subKeyName);
                 }
                 else
                 {
                     mdo = new UninstallerDataObject(rootKey, keyPath, subKeyName);
                     if (!string.IsNullOrEmpty(mdo.ApplicationName))
                     {
                         manager.Objects.Add(mdo);
                     }
                 }
             }
             catch (Exception e)
             {
                 Log.Error(string.Format("unable to analyse registry key {0}", keyPath), e);
             }
         }
     }
 }
Пример #5
0
        public override void Refresh(ObservableCollection <DataObject> objects)
        {
            using (var manager = new RefreshManager <WindowDataObject>(objects))
            {
                foreach (int hwnd in NativeWindowFunctions.EnumWindows())
                {
                    string           internalID = hwnd.ToString("X4");
                    WindowDataObject wdo;

                    if (manager.Contains(internalID, out wdo))
                    {
                        if (!wdo.Refresh(hwnd))
                        {
                            objects.Remove(wdo);
                        }
                    }
                    else
                    {
                        wdo = new WindowDataObject(hwnd);
                        if (!string.IsNullOrEmpty(wdo.Title))
                        {
                            objects.Add(wdo);
                        }
                    }
                }
            }
        }
Пример #6
0
 public override void Refresh(ObservableCollection <DataObject> objects)
 {
     using (var manager = new RefreshManager <UninstallerDataObject>(objects))
     {
         RefreshEntries(manager, Registry.LocalMachine, UNINSTALLER_SECTION);
         RefreshEntries(manager, Registry.CurrentUser, UNINSTALLER_SECTION);
     }
 }
Пример #7
0
        public override void Refresh(ObservableCollection <DataObject> objects)
        {
            using (var manager = new RefreshManager <ModuleDataObject>(objects))
            {
                foreach (Process p in Process.GetProcesses())
                {
                    bool isDisabled = false;
                    if (p.Id < 10)
                    {
                        continue;
                    }
                    else if (p.ProcessName.Equals("smss") ||
                             p.ProcessName.Equals("svchost") ||
                             p.ProcessName.Equals("services") ||
                             p.ProcessName.Equals("csrss"))
                    {
                        continue;
                    }
                    else
                    {
                        string username = pserv4.processes.NativeProcessFunctions.GetUserInfo(p);
                        if (username.Equals("SYSTEM", StringComparison.OrdinalIgnoreCase))
                        {
                            isDisabled = true;
                        }
                    }
                    ProcessModuleCollection pmc = null;
                    try
                    {
                        pmc = p.Modules;
                    }
                    catch (Exception e)
                    {
                        Log.Error(string.Format("Exception caught while accessing modules of process {0}", p), e);
                    }
                    if (pmc != null)
                    {
                        foreach (ProcessModule m in pmc)
                        {
                            string ID = string.Format("{0}.{1}", p.Id, m.FileName);

                            ModuleDataObject mdo;
                            if (manager.Contains(ID, out mdo))
                            {
                                mdo.Refresh(p, m, isDisabled);
                            }
                            else
                            {
                                objects.Add(new ModuleDataObject(p, m, isDisabled));
                            }
                        }
                    }
                }
            }
        }
Пример #8
0
        public MainScreenViewModel()
        {
            _storage = ServiceLocator.Current.GetInstance <IInternalStorage> ();
            if (Device.RuntimePlatform == Device.Android)
            {
                _inapp = ServiceLocator.Current.GetInstance <IInAppPurchase> ();
            }
            _codeManager        = ServiceLocator.Current.GetInstance <CodeManager> ();
            _refreshManager     = ServiceLocator.Current.GetInstance <RefreshManager> ();
            _codeStorageManager = ServiceLocator.Current.GetInstance <CodeStorageManager> ();
            _cityNames          = new List <string> (Constants.CityList.Keys);
            var savedPin = _storage.RetrieveString(Constants.Pin);

            PIN = (string.IsNullOrEmpty(savedPin)) ? Constants.DefaultPin : savedPin;

            var savedCity = _storage.RetrieveString(Constants.City);

            SelectedCity = (string.IsNullOrEmpty(savedCity)) ? Constants.DefaultCity : savedCity;

            var savedProject = _storage.RetrieveString(Constants.Project);

            SelectedProject = (string.IsNullOrEmpty(savedProject)) ? Constants.DefaultProject : savedProject;


            var savedKey1 = _storage.RetrieveString(Constants.Key1);

            Prefix1 = (string.IsNullOrEmpty(savedKey1)) ? Keyboard._0_0_Text : savedKey1;

            var savedKey2 = _storage.RetrieveString(Constants.Key2);

            Prefix2 = (string.IsNullOrEmpty(savedKey2)) ? Keyboard._0_1_Text : savedKey2;
            var savedKey3 = _storage.RetrieveString(Constants.Key3);

            Prefix3 = (string.IsNullOrEmpty(savedKey3)) ? Keyboard._0_2_Text : savedKey3;
            var savedKey4 = _storage.RetrieveString(Constants.Key4);

            Prefix4 = (string.IsNullOrEmpty(savedKey4)) ? Keyboard._0_3_Text : savedKey4;
            var savedKey5 = _storage.RetrieveString(Constants.Key5);

            Prefix5                               = (string.IsNullOrEmpty(savedKey5)) ? Keyboard._0_4_Text : savedKey5;
            Code                                  = string.Empty;
            RefreshEnabled                        = true;
            _codeManager.ChangeCode              += ChangeCode;
            _refreshManager.ScrollChanged        += OnSrollChanged;
            _codeStorageManager.ConnectedChanged += ConnectedChanged;
            Paid                                  = (Device.RuntimePlatform != Device.Android) || _storage.RetrieveBool(Constants.Paid);
            Load();
            if (Device.RuntimePlatform == Device.Android)
            {
                LoadProducts();
            }
        }
Пример #9
0
        public override void Refresh(ObservableCollection<DataObject> objects)
        {
            using(var manager = new RefreshManager<ServiceDataObject>(objects))
            {
                using (NativeSCManager scm = new NativeSCManager(MachineName))
                {
                    foreach (ENUM_SERVICE_STATUS_PROCESS essp in scm.Refresh(ServicesType))
                    {
                        using (NativeService ns = new NativeService(scm, essp.ServiceName))
                        {
                            ServiceDataObject sdo = null;

                            if (manager.Contains(essp.ServiceName, out sdo))
                            {
                                sdo.UpdateFrom(essp);
                            }
                            else
                            {
                                objects.Add(new ServiceDataObject(ns, essp));
                            }
                        }
                    }
                }
            }
        }
Пример #10
0
        public static void OnStaticConfigChange()
        {
            OnEnable  = null;
            OnDisable = null;

            foreach (AvatarHiderPlayer playerProp in PlayerManager.filteredPlayers.Values)
            {
                playerProp.SetActive();
                playerProp.active = false; // Do this so avatar sounds run on the first time
            }

            setActiveDelegate   = setActiveCompletelyDelegate;
            setInactiveDelegate = setInactiveCompletelyDelegate;

            if (Config.DisableSpawnSound.Value)
            {
                foreach (AvatarHiderPlayer ahPlayer in PlayerManager.filteredPlayers.Values)
                {
                    ahPlayer.hasLetAudioPlay = false;
                }

                OnEnable += new Action <AvatarHiderPlayer>((ahPlayer) =>
                {
                    if (ahPlayer.hasLetAudioPlay)
                    {
                        ahPlayer.StopAudio();
                    }
                });
                OnDisable += new Action <AvatarHiderPlayer>((ahPlayer) =>
                {
                    if (!ahPlayer.hasLetAudioPlay)
                    {
                        ahPlayer.hasLetAudioPlay = true;
                    }
                });
            }
            if (Config.LimitAudioDistance.Value)
            {
                wasLimitOnBefore = true;
                foreach (AvatarHiderPlayer ahPlayer in PlayerManager.players.Values)
                {
                    if (!ahPlayer.active)
                    {
                        continue;
                    }

                    ahPlayer.LimitAudioDistance();

                    ahPlayer.hasLimitedAudio = true;
                }
                OnEnable += new Action <AvatarHiderPlayer>((ahPlayer) =>
                {
                    if (!ahPlayer.hasLimitedAudio)
                    {
                        ahPlayer.LimitAudioDistance();

                        ahPlayer.hasLimitedAudio = true;
                    }
                });
            }
            else if (wasLimitOnBefore)
            {
                VRCUtils.ReloadAllAvatars();
            }
            RefreshManager.Refresh();
        }
Пример #11
0
 public ZoomableWebViewRenderer()
 {
     _refreshManager = ServiceLocator.Current.GetInstance <RefreshManager> ();
 }
Пример #12
0
        private void RefreshEntries(RefreshManager<UninstallerDataObject> manager, RegistryKey rootKey, string keyName)
        {
            using(RegistryKey hkKey = rootKey.OpenSubKey(keyName,false))
            {
                foreach (string subKeyName in hkKey.GetSubKeyNames())
                {
                    string keyPath = string.Format("{0}\\{1}", keyName, subKeyName);
                    UninstallerDataObject mdo;
                    try
                    {
                        if (manager.Contains(subKeyName, out mdo))
                        {
                            mdo.Refresh(rootKey, keyPath, subKeyName);
                        }
                        else
                        {
                            mdo = new UninstallerDataObject(rootKey, keyPath, subKeyName);
                            if (!string.IsNullOrEmpty(mdo.ApplicationName))
                            {
                                manager.Objects.Add(mdo);
                            }
                        }
                    }
                    catch(Exception e)
                    {
                        Log.Error(string.Format("unable to analyse registry key {0}", keyPath), e);
                    }

                }
            }
        }
Пример #13
0
 public override void Refresh(ObservableCollection<DataObject> objects)
 {
     using (var manager = new RefreshManager<UninstallerDataObject>(objects))
     {
         RefreshEntries(manager, Registry.LocalMachine, UNINSTALLER_SECTION);
         RefreshEntries(manager, Registry.CurrentUser, UNINSTALLER_SECTION);
     }
 }
Пример #14
0
        public override void Refresh(ObservableCollection<DataObject> objects)
        {
            using (var manager = new RefreshManager<ModuleDataObject>(objects))
            {
                foreach (Process p in Process.GetProcesses())
                {
                    bool isDisabled = false;
                    if (p.Id < 10)
                    {
                        continue;
                    }
                    else if (p.ProcessName.Equals("smss") ||
                        p.ProcessName.Equals("svchost") ||
                        p.ProcessName.Equals("services") ||
                        p.ProcessName.Equals("csrss"))
                    {
                        continue;
                    }
                    else
                    {
                        string username = pserv4.processes.NativeProcessFunctions.GetUserInfo(p);
                        if (username.Equals("SYSTEM", StringComparison.OrdinalIgnoreCase))
                        {
                            isDisabled = true;
                        }
                    }
                    ProcessModuleCollection pmc = null;
                    try
                    {
                        pmc = p.Modules;
                    }
                    catch(Exception e)
                    {
                        Log.Error(string.Format("Exception caught while accessing modules of process {0}", p), e);
                    }
                    if( pmc != null )
                    {
                        foreach (ProcessModule m in pmc)
                        {
                            string ID = string.Format("{0}.{1}", p.Id, m.FileName);

                            ModuleDataObject mdo;
                            if (manager.Contains(ID, out mdo))
                            {
                                mdo.Refresh(p, m, isDisabled);
                            }
                            else
                            {
                                objects.Add(new ModuleDataObject(p, m, isDisabled));
                            }
                        }
                    }
                }
            }
        }
Пример #15
0
 public override void Refresh(ObservableCollection<DataObject> objects)
 {
     using (var manager = new RefreshManager<ProcessDataObject>(objects))
     {
         foreach (Process p in Process.GetProcesses())
         {
             ProcessDataObject pdo = null;
             try
             {
                 if (manager.Contains(p.Id.ToString(), out pdo))
                 {
                     pdo.Refresh(p);
                 }
                 else
                 {
                     objects.Add(new ProcessDataObject(p));
                 }
             }
             catch(Exception e)
             {
                 Log.Error(string.Format("Exception caught while analysing process {0}", p), e);
             }
         }
     }
 }
Пример #16
0
        public override void Refresh(ObservableCollection<DataObject> objects)
        {
            using (var manager = new RefreshManager<WindowDataObject>(objects))
            {
                foreach (int hwnd in NativeWindowFunctions.EnumWindows())
                {
                    string internalID = hwnd.ToString("X4");
                    WindowDataObject wdo;

                    if (manager.Contains(internalID, out wdo))
                    {
                        if( !wdo.Refresh(hwnd) )
                        {
                            objects.Remove(wdo);
                        }
                    }
                    else
                    {
                        wdo = new WindowDataObject(hwnd);
                        if (!string.IsNullOrEmpty(wdo.Title))
                        {
                            objects.Add(wdo);
                        }
                    }
                }
            }
        }