コード例 #1
0
ファイル: Config.cpp プロジェクト: turbanoff/X-plore
void SaveConfiguration(const wchar *fname, const void *struct_base, const S_config_store_type *vals){

   C_file fl;
   if(!fl.Open(fname, C_file::FILE_WRITE|C_file::FILE_WRITE_CREATE_PATH)){
      return;
   }

   const byte *base = (byte*)struct_base;
   while(vals->type){
      switch(vals->type){
      case S_config_store_type::TYPE_DWORD: WriteConfigLine(fl, vals->name, *(dword*)(base+vals->offset)); break;
      case S_config_store_type::TYPE_WORD: WriteConfigLine(fl, vals->name, *(word*)(base+vals->offset)); break;
      case S_config_store_type::TYPE_BYTE: WriteConfigLine(fl, vals->name, *(base+vals->offset)); break;
      case S_config_store_type::TYPE_CSTR_W: WriteConfigLine(fl, vals->name, *(Cstr_w*)(base+vals->offset)); break;
      case S_config_store_type::TYPE_CSTR_C: WriteConfigLine(fl, vals->name, *(Cstr_c*)(base+vals->offset)); break;
      case S_config_store_type::TYPE_NEXT_VALS: vals = (S_config_store_type*)vals->offset; continue;
      default: assert(0);
      }
      ++vals;
   }
}
コード例 #2
0
int gxConfig::ChangeConfigValue(const gxString &parm, const gxString &value)
// Modify the config file. NOTE: All parameter values should not contain 
// a parameter ID label at the end of the string. The parameter ID label
// will be added to mark it as a config file parameter. By default an
// equal sign will be used as a parameter ID.
{
  int rv = ChangeConfigLine(parm, value, 1, 1);

  // Write the parameter if it does not exist
  if(!rv) return WriteConfigLine(parm, value);

  return rv;
}
コード例 #3
0
int gxConfig::WriteConfigLine(const char *parm, const char *value)
{
  gxString p(parm); gxString v(value);
  return WriteConfigLine(p, v);
}
コード例 #4
0
ファイル: Config.cpp プロジェクト: turbanoff/X-plore
//----------------------------
static void WriteConfigLine(C_file &fl, const char *attr, const wchar *val){
   Cstr_c tmp; tmp.ToUtf8(val);
   WriteConfigLine(fl, attr, tmp);
}
コード例 #5
0
ファイル: Config.cpp プロジェクト: turbanoff/X-plore
//----------------------------
static void WriteConfigLine(C_file &fl, const char *attr, int val){
   Cstr_c s; s<<val;
   WriteConfigLine(fl, attr, s);
}