// Local function to put a different state for this resource int oicapp_client_put(int power , int level) { std::shared_ptr< OCResource > resource = g_curResource; retv_if(NULL == g_curResource , -1); DBG("Putting light representation..."); AttributeMap attributeMap; AttributeValues tempVal; AttributeValues humidVal; tempVal.push_back(to_string(power)); humidVal.push_back(to_string(level)); attributeMap["temp"] = tempVal; attributeMap["humid"] = humidVal; // Create QueryParameters Map and add query params (if any) QueryParamsMap queryParamsMap; OCRepresentation rep; rep.setAttributeMap(attributeMap); // Invoke resource's pit API with attribute map, query map and the callback parameter resource->put(rep , queryParamsMap , &onPut); return 0; }