本文整理汇总了C++中CONFIG::SetParam方法的典型用法代码示例。如果您正苦于以下问题:C++ CONFIG::SetParam方法的具体用法?C++ CONFIG::SetParam怎么用?C++ CONFIG::SetParam使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CONFIG
的用法示例。
在下文中一共展示了CONFIG::SetParam方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Param
static void Param(
CONFIG & config,
bool write,
CONFIG::iterator & section,
const std::string & name,
T & value)
{
if (write)
{
config.SetParam(section, name, value);
}
else
{
config.GetParam(section, name, value);
}
}
示例2: Set
void SETTINGS::Set(const std::map<std::string, std::string> & options)
{
CONFIG tempconfig;
for (std::map<std::string, std::string>::const_iterator i = options.begin(); i != options.end(); ++i)
{
std::string section;
std::string param = i->first;
size_t n = param.find(".");
if (n < param.length())
{
section = param.substr(0, n);
param.erase(0, n + 1);
}
tempconfig.SetParam(section, param, i->second);
}
Serialize(false, tempconfig);
}
示例3: Save
void CARCONTROLMAP_LOCAL::Save(CONFIG & controls_config, std::ostream & info_output, std::ostream & error_output)
{
int id = 0;
for (std::map <CARINPUT::CARINPUT, std::vector <CONTROL> >::iterator n = controls.begin(); n != controls.end(); ++n)
{
for (std::vector <CONTROL>::iterator i = n->second.begin(); i != n->second.end(); ++i)
{
std::string ctrl_name = "INVALID";
CARINPUT::CARINPUT inputid = n->first;
for (std::map <std::string, CARINPUT::CARINPUT>::const_iterator s = carinput_stringmap.begin(); s != carinput_stringmap.end(); ++s)
{
if (s->second == inputid) ctrl_name = s->first;
}
std::stringstream ss;
ss << "control mapping " << std::setfill('0') << std::setw(2) << id;
CONFIG::iterator section;
controls_config.GetSection(ss.str(), section);
controls_config.SetParam(section, "name", ctrl_name);
CONTROL & curctrl = *i;
if (curctrl.type == CONTROL::JOY)
{
controls_config.SetParam(section, "type", "joy");
controls_config.SetParam(section, "joy_index", curctrl.joynum);
if (curctrl.joytype == CONTROL::JOYAXIS)
{
controls_config.SetParam(section, "joy_type", "axis");
controls_config.SetParam(section, "joy_axis", curctrl.joyaxis );
switch (curctrl.joyaxistype) {
case CONTROL::POSITIVE:
controls_config.SetParam(section, "joy_axis_type", "positive");
break;
case CONTROL::NEGATIVE:
controls_config.SetParam(section, "joy_axis_type", "negative");
break;
case CONTROL::BOTH:
controls_config.SetParam(section, "joy_axis_type", "both");
break;
}
controls_config.SetParam(section, "deadzone", curctrl.deadzone);
controls_config.SetParam(section, "exponent", curctrl.exponent);
controls_config.SetParam(section, "gain", curctrl.gain);
}
else if (curctrl.joytype == CONTROL::JOYBUTTON)
{
controls_config.SetParam(section, "joy_type", "button");
controls_config.SetParam(section, "joy_button", curctrl.joybutton);
controls_config.SetParam(section, "once", curctrl.onetime);
controls_config.SetParam(section, "down", curctrl.joypushdown);
}
}
else if (curctrl.type == CONTROL::KEY)
{
controls_config.SetParam(section, "type", "key");
std::string keyname = "UNKNOWN";
for (std::map <std::string, int>::iterator k = legacy_keycodes.begin(); k != legacy_keycodes.end(); k++)
if (k->second == curctrl.keycode)
keyname = k->first;
controls_config.SetParam(section, "key", keyname);
controls_config.SetParam(section, "keycode", curctrl.keycode);
controls_config.SetParam(section, "once", curctrl.onetime);
controls_config.SetParam(section, "down", curctrl.keypushdown);
}
else if (curctrl.type == CONTROL::MOUSE)
{
controls_config.SetParam(section, "type", "mouse");
if (curctrl.mousetype == CONTROL::MOUSEBUTTON)
{
controls_config.SetParam(section, "mouse_type", "button");
controls_config.SetParam(section, "mouse_button", curctrl.mbutton );
controls_config.SetParam(section, "once", curctrl.onetime );
controls_config.SetParam(section, "down", curctrl.mouse_push_down );
}
else if (curctrl.mousetype == CONTROL::MOUSEMOTION)
{
std::string direction = "invalid";
CONTROL::MOUSEDIRECTION mdir = curctrl.mdir;
if ( mdir == CONTROL::UP )
{
direction = "up";
}
else if ( mdir == CONTROL::DOWN )
{
direction = "down";
}
else if ( mdir == CONTROL::LEFT )
{
direction = "left";
}
else if ( mdir == CONTROL::RIGHT )
{
direction = "right";
}
controls_config.SetParam(section, "mouse_type", "motion");
controls_config.SetParam(section, "mouse_motion", direction);
//.........这里部分代码省略.........
示例4: Save
void CARCONTROLMAP_LOCAL::Save(CONFIG & controls_config)
{
int id = 0;
for (size_t n = 0; n < controls.size(); ++n)
{
std::string ctrl_name = GetStringFromInput(CARINPUT::CARINPUT(n));
if (ctrl_name.empty())
continue;
for (size_t i = 0; i < controls[n].size(); ++i)
{
std::stringstream ss;
ss << "control mapping " << std::setfill('0') << std::setw(2) << id;
CONFIG::iterator section;
controls_config.GetSection(ss.str(), section);
controls_config.SetParam(section, "name", ctrl_name);
CONTROL & curctrl = controls[n][i];
if (curctrl.type == CONTROL::JOY)
{
controls_config.SetParam(section, "type", "joy");
controls_config.SetParam(section, "joy_index", curctrl.joynum);
if (curctrl.joytype == CONTROL::JOYAXIS)
{
controls_config.SetParam(section, "joy_type", "axis");
controls_config.SetParam(section, "joy_axis", curctrl.joyaxis );
switch (curctrl.joyaxistype) {
case CONTROL::POSITIVE:
controls_config.SetParam(section, "joy_axis_type", "positive");
break;
case CONTROL::NEGATIVE:
controls_config.SetParam(section, "joy_axis_type", "negative");
break;
}
controls_config.SetParam(section, "deadzone", curctrl.deadzone);
controls_config.SetParam(section, "exponent", curctrl.exponent);
controls_config.SetParam(section, "gain", curctrl.gain);
}
else if (curctrl.joytype == CONTROL::JOYBUTTON)
{
controls_config.SetParam(section, "joy_type", "button");
controls_config.SetParam(section, "joy_button", curctrl.keycode);
controls_config.SetParam(section, "once", curctrl.onetime);
controls_config.SetParam(section, "down", curctrl.pushdown);
}
}
else if (curctrl.type == CONTROL::KEY)
{
controls_config.SetParam(section, "type", "key");
std::string keyname = GetStringFromKeycode(curctrl.keycode);
controls_config.SetParam(section, "key", keyname);
controls_config.SetParam(section, "keycode", curctrl.keycode);
controls_config.SetParam(section, "once", curctrl.onetime);
controls_config.SetParam(section, "down", curctrl.pushdown);
}
else if (curctrl.type == CONTROL::MOUSE)
{
controls_config.SetParam(section, "type", "mouse");
if (curctrl.mousetype == CONTROL::MOUSEBUTTON)
{
controls_config.SetParam(section, "mouse_type", "button");
controls_config.SetParam(section, "mouse_button", curctrl.keycode );
controls_config.SetParam(section, "once", curctrl.onetime );
controls_config.SetParam(section, "down", curctrl.pushdown );
}
else if (curctrl.mousetype == CONTROL::MOUSEMOTION)
{
std::string direction = "invalid";
CONTROL::MOUSEDIRECTION mdir = curctrl.mdir;
if ( mdir == CONTROL::UP )
{
direction = "up";
}
else if ( mdir == CONTROL::DOWN )
{
direction = "down";
}
else if ( mdir == CONTROL::LEFT )
{
direction = "left";
}
else if ( mdir == CONTROL::RIGHT )
{
direction = "right";
}
controls_config.SetParam(section, "mouse_type", "motion");
controls_config.SetParam(section, "mouse_motion", direction);
controls_config.SetParam(section, "deadzone", curctrl.deadzone);
controls_config.SetParam(section, "exponent", curctrl.exponent);
controls_config.SetParam(section, "gain", curctrl.gain);
}
}
id++;
}
}
//.........这里部分代码省略.........