+ std::vector< std::string > resourceInterface;
+ resourceInterface.push_back(DEFAULT_INTERFACE);
+
+ OCResource::Ptr groupSyncResource;
+ groupSyncResource = OCPlatform::constructResourceObject(host, uri,
+ OC_ALL, false,
+ resourceTypes, resourceInterface);
+ // groupSyncResource = OCPlatform::constructResourceObject(host, uri,
+ // OC_WIFI, false, resourceTypes, resourceInterface);
+
+ // making representation to leave group
+ std::string method = "leaveGroup";
+// std::string type = OCGetResourceTypeName(collectionResourceType, 0);
+ std::string resourceType;
+ resourceType.append(OCGetResourceTypeName(resourceHandle, 0));
+
+ OCRepresentation rep;
+ rep.setValue("method", method);
+ rep.setValue("collectionResourceType", collectionResourceType);
+ rep.setValue("resourceType", resourceType);
+
+ OC_LOG_V(DEBUG, TAG, "\tmethod - %s", method.c_str());
+ OC_LOG_V(DEBUG, TAG, "\tcollectionResourceType - %s", collectionResourceType.c_str());
+ OC_LOG_V(DEBUG, TAG, "\tresourceType - %s", resourceType.c_str());
+
+ QueryParamsMap queryParamsMap;
+
+ // request to leave group to the remote group sync resource
+ OCStackResult result = groupSyncResource->put(rep, queryParamsMap,
+ std::bind(&GroupSynchronization::onLeaveGroup, this, std::placeholders::_1,
+ std::placeholders::_2, std::placeholders::_3));
+ if (OC_STACK_OK == result)
+ {
+ OC_LOG(DEBUG, TAG, "GroupSynchronization::leaveGroup : " \
+ "groupSyncResource->put was successful.");
+ }
+ else
+ {
+ OC_LOG_V(DEBUG, TAG, "GroupSynchronization::leaveGroup : " \
+ "groupSyncResource->put was unsuccessful. result - %d", result);
+ }
+ return result;
+ }