コード例 #1
0
ファイル: MainPlugin.cs プロジェクト: oesolberg/DataCurveSeer
        public string InitIO(string port)
        {
            var initLogString = $"{Utility.PluginName} MainPlugin InitIo started";

            Console.WriteLine(initLogString);
            _logging.Log(initLogString);
            _config = new MainConfig(_logging, _hs, _iniSettings, _callback, this);
            _config.RegisterConfigs();

            _callback.RegisterEventCB(Enums.HSEvent.VALUE_CHANGE, Utility.PluginName, "");

            _logging.Log($"Done creating configs");
            _iniSettings.IniSettingsChanged += _logging.IniSettingHasChanged;
            _homeSeerHandler = new HomeSeerHandler(_hs, _logging);
            _logging.Log($"Done creating HomeSeerHandler");

            _storageHandler = new StorageHandler(_logging, _iniSettings);
            _logging.Log($"Done creating StorageHandler");

            _triggerHandler = new TriggerHandler(_hs, _callback, _iniSettings, _logging, _collectionFactory, _homeSeerHandler, _storageHandler);
            _logging.Log($"Done creating _triggerHandler ");

            //_callback.RegisterEventCB(Enums.HSEvent.CONFIG_CHANGE, Utility.PluginName, "");
            //Register callback on every event of value change. This is the method to find if this is a value of a device we are following

            _logging.Log($"Done registering callback");
            _logging.Log($"{Utility.PluginName} MainPlugin InitIo Complete");
            return("");
        }
コード例 #2
0
        private static (IMainConfig config, ILog logger) Init()
        {
            IMainConfig config;

            try
            {
                config = ReadConfig();
            }
            catch (Exception e)
            {
                throw new InitializationException("Can't read configuration entity", e);
            }

            ILog log;

            try
            {
                log = new Log(config.Log.LogFilePath, config.Log.Level);
                log.Information($"Working in {Directory.GetCurrentDirectory()}");
                log.Information($"Log settings: '{log.LogPath} / {log.LogLevel}'");
            }
            catch (Exception e)
            {
                throw new InitializationException("Can't create logger", e);
            }

            return(config, log);
        }
コード例 #3
0
        private static void BuildContainer(ContainerBuilder builder, ILog log, IMainConfig config)
        {
            builder.RegisterInstance(log).As <ILog>().SingleInstance();

            builder.RegisterInstance(config).As <IMainConfig>().SingleInstance();
            builder.RegisterInstance(config.MyDatabase).As <IDatabaseConfig>().SingleInstance();
            builder.RegisterInstance(config.Log).As <ILogConfig>().SingleInstance();
        }
コード例 #4
0
 internal static byte[] ToHash(string password, IMainConfig config)
 {
     byte[] passwordArray = ASCIIEncoding.ASCII.GetBytes(password);
     using (var encoder = SHA512.Create())
     {
         for (int i = 0; i < 4; i++)
         {
             byte[] passwordWithSalt = passwordArray.Concat(config.GetSalt()).ToArray();
             passwordArray = encoder.ComputeHash(passwordWithSalt);
         }
         return passwordArray;
     }
 }
コード例 #5
0
        internal void JointToMainConfig(IMainConfig config)
        {
            config.PasswordConfirmed += setLogged;
            config.PasswordLocked += setLocked;
            LogonAction = () =>
            {
                using (var signIn = new SignIn())
                {
                    signIn.Config = config;
                    var result = signIn.ShowDialog();
                    return result == DialogResult.OK;
                }
            };
            LockOutAction = () =>
            {
                config.Password = null;

                return true;
            };
        }
コード例 #6
0
 internal static void ChangePassword(IMainConfig config)
 {
     if (!config.IsPasswordConfirmed)
     {
         using (var signIn = new SignIn())
         {
             signIn.Config = config;
             signIn.ShowDialog();
             if (signIn.DialogResult != DialogResult.OK)
             {
                 // 認証不通過。
                 return;
             }
         }
     }
     using (var changePassword = new InitForm()
     {
         IsAsAddNew = false,
         ConfName = config.ConfName,
     })
     {
         changePassword.ShowDialog();
         if (changePassword.DialogResult == DialogResult.OK)
         {
             string newPassword = changePassword.Password;
             string oldPassword = config.Password;
             foreach (ItemPolicy item in config.Items)
             {
                 item.ResavePassword(oldPassword, newPassword, config.DatFolder);
             }
             config.Password = newPassword;
             config.DatFolder = config.DatFolder;
             config.SaveToFile();
         }
     }
 }
コード例 #7
0
        internal static ItemPolicy AddNewItem(IMainConfig config)
        {
            using (var init = new PasswordManager.Individual.InitForm()
            {
                Config = config,
            })
            {
                var result = init.ShowDialog();
                if (result == DialogResult.OK)
                {
                    ItemPolicy newPolicy = ItemPolicy.CreateNewItem(init.ViewName);
                    newPolicy.Location = init.LocationIn;
                    newPolicy.LocationType = init.LocationType;
                    newPolicy.SaveToFile(config.DatFolder);
                    config.Items.Add(newPolicy);

                    return newPolicy;
                }
                else
                {
                    return null;
                }
            }
        }