[dss-commits] r8873 - dss/trunk/core
dss-commits at forum.digitalstrom.org
dss-commits at forum.digitalstrom.org
Thu Oct 29 10:17:18 CET 2009
Author: pstaehlin
Date: 2009-10-29 10:17:18 +0100 (Thu, 29 Oct 2009)
New Revision: 8873
Modified:
dss/trunk/core/webserver.cpp
Log:
Use std::ostringstream instead of std::stringstream in webserver
Modified: dss/trunk/core/webserver.cpp
===================================================================
--- dss/trunk/core/webserver.cpp 2009-10-29 09:17:15 UTC (rev 8872)
+++ dss/trunk/core/webserver.cpp 2009-10-29 09:17:18 UTC (rev 8873)
@@ -446,7 +446,7 @@
}
void WebServer::emitHTTPHeader(int _code, struct mg_connection* _connection, const std::string& _contentType) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "HTTP/1.1 " << _code << ' ' << httpCodeToMessage(_code) << "\r\n";
sstream << "Content-Type: " << _contentType << "; charset=utf-8\r\n\r\n";
string tmp = sstream.str();
@@ -494,7 +494,7 @@
} // toJSONValue(const char*)
string WebServer::ResultToJSON(const bool _ok, const string& _message) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("ok") << ":" << ToJSONValue(_ok);
if(!_message.empty()) {
sstream << ", " << ToJSONValue("message") << ":" << ToJSONValue(_message);
@@ -507,7 +507,7 @@
} // resultToJSON
string JSONOk(const string& _innerResult = "") {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("ok") << ":" << ToJSONValue(true);
if(!_innerResult.empty()) {
sstream << ", " << ToJSONValue("result")<< ": " << _innerResult;
@@ -517,7 +517,7 @@
}
string ToJSONValue(const DeviceReference& _device) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ \"id\": \"" << _device.getDSID().toString() << "\""
<< ", \"isSwitch\": " << ToJSONValue(_device.hasSwitch())
<< ", \"name\": " << ToJSONValue(_device.getDevice().getName())
@@ -532,7 +532,7 @@
} // toJSONValue(DeviceReference)
string ToJSONValue(const Set& _set, const string& _arrayName) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << ToJSONValue(_arrayName) << ":[";
bool firstDevice = true;
for(int iDevice = 0; iDevice < _set.length(); iDevice++) {
@@ -549,7 +549,7 @@
} // toJSONValue(Set,Name)
string ToJSONValue(const Group& _group) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("id") << ": " << ToJSONValue(_group.getID()) << ",";
sstream << ToJSONValue("name") << ": " << ToJSONValue(_group.getName()) << ", ";
sstream << ToJSONValue("isPresent") << ": " << ToJSONValue(_group.isPresent()) << ", ";
@@ -569,7 +569,7 @@
} // toJSONValue(Group)
string ToJSONValue(Zone& _zone, bool _includeDevices = true) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ \"id\": " << _zone.getID() << ",";
string name = _zone.getName();
if(name.size() == 0) {
@@ -603,7 +603,7 @@
} // toJSONValue(Zone)
string ToJSONValue(Apartment& _apartment) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ \"apartment\": { \"zones\": [";
vector<Zone*>& zones = _apartment.getZones();
bool first = true;
@@ -647,7 +647,7 @@
template<>
string ToJSONArray(const vector<int>& _v) {
- std::stringstream arr;
+ std::ostringstream arr;
arr << "[";
bool first = true;
vector<int>::const_iterator iV;
@@ -790,7 +790,7 @@
}
return callDeviceInterface(_method, _parameter, _connection, interface, _session);
} else {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ ok: " << ToJSONValue(ok) << ", message: " << ToJSONValue(errorMessage) << " }";
return sstream.str();
}
@@ -812,7 +812,7 @@
m_Sessions[token] = Session(token);
return "{" + ToJSONValue("token") + ": " + ToJSONValue(token) + "}";
} else if(endsWith(_method, "/getCircuits")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("circuits") << ": [";
bool first = true;
vector<Modulator*>& modulators = getDSS().getApartment().getModulators();
@@ -834,7 +834,7 @@
sstream << "]}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/getName")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("name") << ":" << ToJSONValue(getDSS().getApartment().getName()) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/setName")) {
@@ -938,11 +938,11 @@
// should never reach here because ok, would be false
assert(false);
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("scene") << ":" << ToJSONValue(lastScene) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/getName")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("name") << ":" << ToJSONValue(pZone->getName()) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/setName")) {
@@ -999,7 +999,7 @@
return callDeviceInterface(_method, _parameter, _connection, pDevice, _session);
} else if(beginsWith(_method, "device/getGroups")) {
int numGroups = pDevice->getGroupsCount();
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("groups") << ": [";
bool first = true;
for(int iGroup = 0; iGroup < numGroups; iGroup++) {
@@ -1021,11 +1021,11 @@
sstream << "]}";
return sstream.str();
} else if(beginsWith(_method, "device/getState")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("isOn") << ":" << ToJSONValue(pDevice->isOn()) << " }";
return JSONOk(sstream.str());
} else if(beginsWith(_method, "device/getName")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("name") << ":" << ToJSONValue(pDevice->getName()) << " }";
return JSONOk(sstream.str());
} else if(beginsWith(_method, "device/setName")) {
@@ -1074,7 +1074,7 @@
modulator.setName(_parameter["newName"]);
return ResultToJSON(true);
} else if(endsWith(_method, "circuit/getEnergyBorder")) {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("orange") << ":" << ToJSONValue(modulator.getEnergyLevelOrange());
sstream << "," << ToJSONValue("red") << ":" << ToJSONValue(modulator.getEnergyLevelRed());
sstream << "}";
@@ -1124,7 +1124,7 @@
return ResultToJSON(false, "missing either zoneID or zoneName");
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/byGroup")) {
@@ -1140,7 +1140,7 @@
return ResultToJSON(false, "missing either groupID or groupName");
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/byDSID")) {
@@ -1154,7 +1154,7 @@
return ResultToJSON(false, "missing parameter dsid");
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/getDevices")) {
@@ -1172,7 +1172,7 @@
}
additionalPart += "add(" + other + ")";
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
return JSONOk(sstream.str());
} else if(endsWith(_method, "/subtract")) {
@@ -1186,7 +1186,7 @@
}
additionalPart += "subtract(" + other + ")";
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
return JSONOk(sstream.str());
} else if(isDeviceInterfaceCall(_method)) {
@@ -1214,7 +1214,7 @@
return ResultToJSON(false, "Could not find node named '" + propName + "'");
}
try {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("value") << ": " << ToJSONValue(node->getStringValue()) << "}";
return JSONOk(sstream.str());
} catch(PropertyTypeMismatch& ex) {
@@ -1225,7 +1225,7 @@
return ResultToJSON(false, "Could not find node named '" + propName + "'");
}
try {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("value") << ": " << ToJSONValue(node->getIntegerValue()) << "}";
return JSONOk(sstream.str());
} catch(PropertyTypeMismatch& ex) {
@@ -1236,7 +1236,7 @@
return ResultToJSON(false, "Could not find node named '" + propName + "'");
}
try {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("value") << ": " << ToJSONValue(node->getBoolValue()) << "}";
return JSONOk(sstream.str());
} catch(PropertyTypeMismatch& ex) {
@@ -1293,7 +1293,7 @@
if(node == NULL) {
return ResultToJSON(false, "Could not find node named '" + propName + "'");
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "[";
bool first = true;
for(int iChild = 0; iChild < node->getChildCount(); iChild++) {
@@ -1312,7 +1312,7 @@
if(node == NULL) {
return ResultToJSON(false, "Could not find node named '" + propName + "'");
}
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << ":" << ToJSONValue("type") << ":" << ToJSONValue(getValueTypeAsString(node->getValueType())) << "}";
return JSONOk(sstream.str());
} else {
@@ -1607,7 +1607,7 @@
if(writeOnly) {
return ResultToJSON(true);
} else {
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("value") << ":" << ToJSONValue(result) << "}";
return JSONOk(sstream.str());
}
@@ -1690,7 +1690,7 @@
if(endsWith(_method, "/getResolutions")) {
_handled = true;
std::vector<boost::shared_ptr<MeteringConfigChain> > meteringConfig = getDSS().getMetering().getConfig();
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{" << ToJSONValue("resolutions") << ":" << "[";
for(unsigned int iConfig = 0; iConfig < meteringConfig.size(); iConfig++) {
boost::shared_ptr<MeteringConfigChain> cConfig = meteringConfig[iConfig];
@@ -1707,7 +1707,7 @@
return JSONOk(sstream.str());
} else if(endsWith(_method, "/getSeries")) {
_handled = true;
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " << ToJSONValue("series") << ": [";
bool first = true;
vector<Modulator*>& modulators = getDSS().getApartment().getModulators();
@@ -1786,7 +1786,7 @@
boost::shared_ptr<Series<CurrentValue> > s = boost::shared_ptr<Series<CurrentValue> >(reader.readFromXML(seriesPath));
std::deque<CurrentValue>* values = s->getExpandedValues();
bool first = true;
- std::stringstream sstream;
+ std::ostringstream sstream;
sstream << "{ " ;
sstream << ToJSONValue("dsmid") << ":" << ToJSONValue(deviceDSIDString) << ",";
sstream << ToJSONValue("type") << ":" << ToJSONValue(typeString) << ",";
@@ -1933,7 +1933,7 @@
}
mg_printf(_connection, "<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><body>");
- std::stringstream stream;
+ std::ostringstream stream;
stream << "<h1>" << path << "</h1>";
stream << "<ul>";
PropertyNodePtr node = DSS::getInstance()->getPropertySystem().getProperty(path);
More information about the dss-commits
mailing list