/// <summary> /// CIMコマンド実行ハンドラ /// </summary> /// <param name="cimprm">パラメータ(FTP接続情報)</param> private void OnActionCIM(ActionParam_CIMCommand cimprm) { // 現在のCIM設定値取得 ExpandoObject eo = m_cfg.GetDeviceConfig(Device.DevType.CIM); IDictionary <string, object> dic = eo; bool bret = false; switch (cimprm.Cmd) { case ActionParam_CIMCommand.Command.GetParam: // 設定値取得 cimprm.ServerPath = dic["ServerPath"].ToString(); cimprm.User = dic["User"].ToString(); cimprm.Password = dic["Password"].ToString(); bret = true; break; case ActionParam_CIMCommand.Command.Connect: // 接続先変更 bret = m_devMgr.CIM.ChangeConnectionFTPServer(cimprm.ServerPath, cimprm.User, cimprm.Password); break; case ActionParam_CIMCommand.Command.Update: // 設定値のサーバアドレス、ユーザ名、パスワード、を書き換える dic["ServerPath"] = cimprm.ServerPath; dic["User"] = cimprm.User; dic["Password"] = cimprm.Password; // 設定データの更新 bret = m_devMgr.CIM.SetParam(eo); if (bret) { // 設定ファイルの部分更新 bret = m_cfg.UpdateConfigFile(eo); } break; } cimprm.result = bret; }
/// <summary> /// 機器設定値反映 /// </summary> /// <param name="cfg">設定値クラス</param> /// <param name="err_dev">エラーがあった機器</param> /// <returns>成功/失敗</returns> public bool SetParamAll(Config.ConfigDataManager cfg, out Enum err_dev) { err_dev = default(Enum); foreach (var di in m_devices) { IDevice dev = di.Device; ExpandoObject eo = cfg.GetDeviceConfig(di.Type); if (eo == null) { log.Error("必要な機器設定値が存在しません({0})", di.Type); err_dev = di.Type; return(false); } if (!di.SetParam(eo)) { err_dev = di.Type; return(false); } } return(true); }