本文整理汇总了C++中ConnectionSettings::set方法的典型用法代码示例。如果您正苦于以下问题:C++ ConnectionSettings::set方法的具体用法?C++ ConnectionSettings::set怎么用?C++ ConnectionSettings::set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConnectionSettings
的用法示例。
在下文中一共展示了ConnectionSettings::set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
/**
*
* Loads all connection settings from a configuration file formatted as format
*
* @param format The format of the file
* @param filename The filename to load
* @return An array of connection settings pointers
*/
std::vector<ConnectionSettings *> ConnectionSettings::load(
FileFormat format, std::string filename)
{
std::vector<ConnectionSettings *> connectionList;
ConnectionSettings *connectionSettings;
FileStream *stream;
Variant data;
switch (format) {
case BINARY:
stream = new BinaryStream();
break;
case JSON:
stream = new JsonStream();
break;
}
// Open the file
if (!stream->open(filename, std::ios::in)) {
// Failed to open file
return connectionList;
}
// Load stream
*stream >> data;
if (data.getType() == D_VARIANTVECTOR) {
auto connections = data.toVariantVector();
for (auto it = connections.begin(); it != connections.end(); ++it) {
if (it->getType() == D_VARIANTMAP) {
// Initialize settings
connectionSettings = new ConnectionSettings();
// Load from map
*connectionSettings << it->toVariantMap();
// Add to collection
connectionList.push_back(connectionSettings);
// Reparent the children and add to the connectionList
// connection
reparentChildren(connectionList, connectionSettings);
}
}
}
// Close stream
stream->close();
// Free memory
delete stream;
if (connectionList.size() == 0) {
// Add default group
connectionSettings = new ConnectionSettings();
connectionSettings->set("name", "Default");
connectionSettings->set("type", MYSQL);
connectionList.push_back(connectionSettings);
}
return connectionList;
}