From dab7666e8db685c0a4dc16a1f1ed38e79e9ce219 Mon Sep 17 00:00:00 2001 From: HyunJun Kim Date: Wed, 14 Jan 2015 17:52:28 +0900 Subject: [PATCH] Add method of Things-Manager. It was not included implementation. So We implement about bindResourceToGroup for Group Formation feature. Change-Id: Iade53004d8b3d974846a3b9056c6c3b6649104fa Signed-off-by: HyunJun Kim --- service/things-manager/sdk/src/GroupManager.cpp | 22 ++++++++++++++++++++++ service/things-manager/sdk/src/GroupManager.h | 2 ++ service/things-manager/sdk/src/ThingsManager.cpp | 7 +++++++ 3 files changed, 31 insertions(+) diff --git a/service/things-manager/sdk/src/GroupManager.cpp b/service/things-manager/sdk/src/GroupManager.cpp index 216ac0b..ca8c190 100644 --- a/service/things-manager/sdk/src/GroupManager.cpp +++ b/service/things-manager/sdk/src/GroupManager.cpp @@ -238,6 +238,28 @@ OCStackResult GroupManager::findCandidateResources(std::vector< std::string > re return OC_STACK_OK; } + +OCStackResult GroupManager::bindResourceToGroup(OCResourceHandle& childHandle, std::shared_ptr< OCResource > resource, OCResourceHandle& collectionHandle) +{ + + OCStackResult result = OCPlatform::registerResource(childHandle, resource); + + cout << "\tresource registed!" << endl; + + if(result == OC_STACK_OK) + { + OCPlatform::bindResource(collectionHandle, childHandle); + } + else + { + cout << "\tresource Error!" << endl; + } + + return result; + } + + + /* Presence Check */ diff --git a/service/things-manager/sdk/src/GroupManager.h b/service/things-manager/sdk/src/GroupManager.h index d0dad45..5a2d6cc 100644 --- a/service/things-manager/sdk/src/GroupManager.h +++ b/service/things-manager/sdk/src/GroupManager.h @@ -117,6 +117,8 @@ public: OCStackResult subscribeCollectionPresence(std::shared_ptr< OCResource > resource, CollectionPresenceCallback); + OCStackResult bindResourceToGroup(OCResourceHandle& childHandle, std::shared_ptr< OCResource > resource, OCResourceHandle& collectionHandle); + private: void onFoundResource(std::shared_ptr< OCResource > resource, int waitsec); diff --git a/service/things-manager/sdk/src/ThingsManager.cpp b/service/things-manager/sdk/src/ThingsManager.cpp index a65b987..9009612 100644 --- a/service/things-manager/sdk/src/ThingsManager.cpp +++ b/service/things-manager/sdk/src/ThingsManager.cpp @@ -76,6 +76,13 @@ namespace OIC return result; } + OCStackResult ThingsManager::bindResourceToGroup(OCResourceHandle& childHandle, std::shared_ptr< OCResource > resource, OCResourceHandle& collectionHandle) + { + OCStackResult result = g_groupManager->bindResourceToGroup(childHandle,resource,collectionHandle); + + return result; + } + OCStackResult ThingsManager::findGroup(std::vector< std::string > collectionResourceTypes, FindCallback callback) { -- 2.7.4