if not env.get('RELEASE'):
notification_env.PrependUnique(LIBS = ['gcov'])
notification_env.AppendUnique(CCFLAGS = ['--coverage'])
+
+if 'CLIENT' in notification_env.get('RD_MODE'):
+ notification_env.AppendUnique(CPPDEFINES = ['RD_CLIENT'])
if env.get('WITH_CLOUD') == True:
notification_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD'])
#ifdef WITH_CLOUD
#include "NSConstants.h"
#include "NSConsumerCommon.h"
-#include "cloud_connector.h"
#include "oic_malloc.h"
#define CLOUD_CONTEXT_VALUE 0x99
#ifdef WITH_CLOUD
NS_LOG(DEBUG, "process OCCloudLogin...");
- OCCloudLogin(CLOUD_HOST_ADDRESS, CLOUD_IOTIVITYNS_SESSION, handleLoginoutCB);
NS_LOG(DEBUG, "OCCloudLogin return");
#endif
\r
// Input the following values to publish resource to cloud\r
char REMOTE_SERVER_ADDRESS[50];\r
-char REMOTE_SERVER_SESSION[50];\r
char mainConsumer[37] = {'\0',};\r
\r
extern char *strdup(const char *s);\r
printf("NS_APP Sync State: %d\n", sync->state);\r
}\r
\r
-#ifdef WITH_CLOUD\r
-OCStackApplicationResult CloudLoginoutCallback(void *ctx,\r
- OCDoHandle handle, OCClientResponse *clientResponse)\r
-{\r
- int CtxValue = 0x99;\r
- if (ctx != (void *)CtxValue)\r
- {\r
- printf("Invalid Cloud Login/out callback received");\r
- }\r
-\r
- printf("Login/out response received");\r
-\r
- if (clientResponse->payload != NULL &&\r
- clientResponse->payload->type == PAYLOAD_TYPE_REPRESENTATION)\r
- {\r
- printf("PAYLOAD_TYPE_REPRESENTATION received");\r
-\r
- OCRepPayloadValue *val = ((OCRepPayload *)clientResponse->payload)->values;\r
-\r
- printf("Get payload values");\r
- while (val)\r
- {\r
- printf("key: %s / Value: %s", val->name, val->str);\r
- val = val->next;\r
- }\r
-\r
- NSProviderEnableRemoteService(REMOTE_SERVER_ADDRESS);\r
- }\r
-\r
- return OC_STACK_KEEP_TRANSACTION;\r
-}\r
-#endif\r
-\r
FILE* server_fopen(const char *path, const char *mode)\r
{\r
(void)path;\r
printf("9. NSProviderGetConsumerTopics(); \n");\r
printf("10. NSProviderGetTopics(); \n");\r
printf("11. NSStopProvider() \n");\r
- printf("12. NSCloudLogin \n");\r
- printf("13. NSCloudLogout \n");\r
+ printf("12. NSProviderEnableRemoteService \n");\r
printf("0. Exit() \n");\r
printf("==============================================\n");\r
\r
break;\r
\r
case 12:\r
- printf("NSCloudLogin");\r
-\r
- printf("Cloud Address: ");\r
+ printf("Remote Server Address: ");\r
gets(REMOTE_SERVER_ADDRESS);\r
\r
- printf("Session Code: ");\r
- gets(REMOTE_SERVER_SESSION);\r
-\r
-#ifdef WITH_CLOUD\r
- NSCloudLogin(REMOTE_SERVER_ADDRESS, REMOTE_SERVER_SESSION, CloudLoginoutCallback);\r
-#endif\r
- printf("OCCloudLogin requested");\r
- break;\r
- case 13:\r
- printf("NSCloudLogout");\r
-#ifdef WITH_CLOUD\r
- NSCloudLogout(REMOTE_SERVER_ADDRESS, REMOTE_SERVER_SESSION, CloudLoginoutCallback);\r
-#endif\r
- printf("OCCloudLogout requested");\r
+ NSProviderEnableRemoteService(REMOTE_SERVER_ADDRESS);\r
break;\r
case 0:\r
NSStopProvider();\r
isExit = true;\r
break;\r
default:\r
- printf("Under Construction");\r
+ printf("Under Construction\n");\r
break;\r
}\r
\r
NS_LOG(DEBUG, "CASE TASK_REGISTER_RESOURCE : ");\r
NSRegisterResource();\r
break;\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIENT\r
case TASK_PUBLISH_RESOURCE:\r
NS_LOG(DEBUG, "CASE TASK_PUBLISH_PESOURCE : ");\r
NSPublishResourceToCloud((char*)node->taskData);\r
return NS_OK;\r
}\r
\r
-#ifdef WITH_CLOUD\r
NSResult NSProviderEnableRemoteService(char *serverAddress)\r
{\r
NS_LOG(DEBUG, "NSProviderEnableRemoteService - IN");\r
pthread_mutex_lock(&nsInitMutex);\r
- \r
- if(!initProvider)\r
+\r
+if(!initProvider)\r
{\r
NS_LOG(DEBUG, "Provider service has not been started yet");\r
pthread_mutex_unlock(&nsInitMutex);\r
return NS_FAIL;\r
}\r
-\r
+ NS_LOG(DEBUG, "Check the remote server login");\r
NS_LOG_V(DEBUG, "Remote server address: %s", serverAddress);\r
+#ifdef RD_CLIENT\r
+ NS_LOG(DEBUG, "Request to publish resource");\r
NSPushQueue(DISCOVERY_SCHEDULER, TASK_PUBLISH_RESOURCE, serverAddress);\r
+#endif\r
\r
pthread_mutex_unlock(&nsInitMutex);\r
NS_LOG(DEBUG, "NSProviderEnableRemoteService - OUT");\r
return NS_FAIL;\r
}\r
NS_LOG_V(DEBUG, "Remote server address: %s", serverAddress);\r
+#ifdef RD_CLIENT\r
+ NS_LOG(DEBUG, "Delete remote server info");\r
+ NSDeleteRemoteServerAddress(serverAddress);\r
+#endif\r
\r
pthread_mutex_unlock(&nsInitMutex);\r
NS_LOG(DEBUG, "NSProviderDisableRemoteService - OUT");\r
return NS_OK;\r
}\r
-#endif\r
\r
NSResult NSSendMessage(NSMessage *msg)\r
{\r
}
}
-#ifdef WITH_CLOUD
+#ifdef RD_CLIENT
if(subData->remote_messageObId != 0)
{
if(NSProviderIsTopicSubScribed(consumerTopicList->head, subData->id, msg->topic))
obArray[obCount++] = subData->syncObId;
}
-#ifdef WITH_CLOUD
+#ifdef RD_CLIENT
if(subData->remote_syncObId != 0)
{
obArray[obCount++] = subData->remote_syncObId;
NSSyncResource NotificationSyncResource;
NSTopicResource NotificationTopicResource;
-#ifdef WITH_CLOUD
+#ifdef RD_CLIENT
OCStackApplicationResult NSHandlePublishCb(void *ctx, OCDoHandle handle,
OCClientResponse *clientResponse)
{
(void) handle;
-
- if (ctx != (void *)DEFAULT_CONTEXT_VALUE)
- {
- NS_LOG(DEBUG, "Invalid publish callback received");
- }
+ (void) ctx;
NS_LOG_V(DEBUG, "Publish resource response received code: %d", clientResponse->result);
{
NS_LOG(DEBUG, "NSPublishResourceToCloud - IN");
- NS_LOG_V(DEBUG, "Cloud address: %s", serverAddress);
+ NS_LOG_V(DEBUG, "Remote Server Address: %s", serverAddress);
- const char * publishQuery = NS_RD_PUBLISH_QUERY;
+ OCResourceHandle resourceHandles[1] = {NotificationResource.handle};
+ OCStackResult res = OCRDPublish(serverAddress, CT_ADAPTER_TCP, resourceHandles, 1,
+ &NSHandlePublishCb, OC_LOW_QOS);
- if (NSCloudPublish(serverAddress, publishQuery, &NSHandlePublishCb, 1,
- NotificationResource.handle) != OC_STACK_OK)
+ if (res != OC_STACK_OK)
{
NS_LOG(DEBUG, "Unable to publish resources to cloud");
}
\r
bool iSRemoteServer = false;\r
\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIEND\r
iSRemoteServer = NSIsRemoteServerAddress(entityHandlerRequest->devAddr.addr);\r
if(iSRemoteServer)\r
{\r
subData->remote_syncObId = subData->syncObId = 0;\r
bool isRemoteServer = false;\r
\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIENT\r
isRemoteServer = NSIsRemoteServerAddress(entityHandlerRequest->devAddr.addr);\r
if(isRemoteServer)\r
{\r
#define MAX_SERVER_ADDRESS 32\r
static NSConnectionState NSProviderConnectionState;\r
\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIENT\r
static char NSRemoteServerAddress[MAX_SERVER_ADDRESS] = {0,};\r
#endif\r
\r
return NSProviderConnectionState;\r
}\r
\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIENT\r
void NSSetRemoteServerAddress(char *serverAddress)\r
{\r
\r
obArray[obCount++] = subData->messageObId;\r
}\r
\r
-#ifdef WITH_CLOUD\r
+#ifdef RD_CLIENT\r
if(subData->remote_messageObId != 0)\r
{\r
obArray[obCount++] = subData->remote_messageObId;\r