public bool Initialize()
        {
            var config = ConfigurationStorage.Load();

            var protocol = config.GetPlatformDeepLinkingProtocols(SupportedPlatforms.Windows, true).FirstOrDefault();

            if (protocol == null || string.IsNullOrEmpty(protocol.Scheme))
            {
                return(false);
            }

            var fromSteam  = _steamBuild;
            var steamAppId = config.SteamId;

            try
            {
                var key     = Registry.CurrentUser.OpenSubKey("Software", true);
                var classes = key.OpenSubKey("Classes", true);

                if (classes == null)
                {
                    return(false);
                }
                foreach (var activationProtocol in config.GetPlatformDeepLinkingProtocols(SupportedPlatforms.Windows, true))
                {
                    SetProtocol(classes, activationProtocol.Scheme, fromSteam, steamAppId);
                }
            }
            catch (Exception e)
            {
                Debug.LogException(e);
                return(false);
            }
            return(true);
        }
Exemplo n.º 2
0
        public void Load_should_restore_empty_configuration_from_an_nonExisted_file()
        {
            Assert.IsFalse(File.Exists(filePath), "File should not exist");

            var storage       = new ConfigurationStorage(filePath);
            var configuration = storage.Load();

            Assert.IsTrue(configuration.Account == string.Empty);
            Assert.IsTrue(configuration.Token == string.Empty);
        }
Exemplo n.º 3
0
        public void Load_should_restore_empty_configuration_from_an_empty_file()
        {
            File.Create(filePath).Close();

            var storage       = new ConfigurationStorage(filePath);
            var configuration = storage.Load();

            Assert.IsTrue(configuration.Account == string.Empty);
            Assert.IsTrue(configuration.Token == string.Empty);
        }
Exemplo n.º 4
0
        public void Load_should_restore_configuration_from_a_file()
        {
            var configuration = new Configuration {
                Account = "account", Token = "token"
            };
            var storage = new ConfigurationStorage(filePath);

            storage.Save(configuration);

            var storage2       = new ConfigurationStorage(filePath);
            var configuration2 = storage2.Load();

            Assert.AreEqual(configuration.Account, configuration2.Account);
            Assert.AreEqual(configuration.Token, configuration2.Token);
        }
Exemplo n.º 5
0
        private void EnsureConfiguration()
        {
            if (_config != null)
            {
                if (_platformsWithCustomData.Count == 0)
                {
                    foreach (SupportedPlatforms value in Enum.GetValues(typeof(SupportedPlatforms)))
                    {
                        _platformsWithCustomData.Add(value, _config.GetPlatformDeepLinkingProtocols(value) != null || _config.GetPlatformDomainProtocols(value) != null);
                    }
                }
                return;
            }

            _config = ConfigurationStorage.Load();
            SetupVariables();
        }
Exemplo n.º 6
0
        public bool Initialize()
        {
            try
            {
                var config = ConfigurationStorage.Load();

                var protocol = config.GetPlatformDeepLinkingProtocols(SupportedPlatforms.Linux, true).FirstOrDefault();
                if (protocol == null)
                {
                    return(false);
                }

                _scheme = protocol.Scheme;
                var activationProtocol = protocol.Scheme;
                var fromSteam          = _steamBuild;

                var steamAppId = fromSteam ? config.SteamId : string.Empty;

                var home = Environment.GetEnvironmentVariable("HOME");

                const string mimeTypePrefix = "x-scheme-handler/";



                var mimeType        = mimeTypePrefix + activationProtocol;
                var desktopFilename = activationProtocol + ".desktop";
                var desktopFile     = home + LocalAppDir + desktopFilename;
                var mimeapps        = home + LocalAppDir + "mimeapps.list";

                HandleMimefile(mimeType, desktopFilename, mimeapps);

                HandleDesktopFile(activationProtocol, desktopFile, steamAppId);

                SetupMimeType(activationProtocol);
                return(true);
            }
            catch (Exception e)
            {
                UnityEngine.Debug.Log("Linux Provider " + e);
                return(false);
            }
        }
Exemplo n.º 7
0
 private ToolboxConfiguration LoadConfiguration()
 {
     return(m_configurationStorage.Load(Path.Combine(ApplicationService.ApplicationDirectory, SettingsFileName)));
 }