// 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
\r
\r
printf("NS_APP Consumer Device ID: %s\n", consumer->consumerId);\r
\r
+ if(mainConsumer[0] == '\0')\r
+ {\r
+ OICStrcpy(mainConsumer, 37, consumer->consumerId);\r
+ }\r
+\r
NSAcceptSubscription(consumer, true);\r
}\r
\r
return fopen("oic_ns_provider_db.dat", mode);\r
}\r
\r
+void printTopics(NSTopics * topics)\r
+{\r
+ if(!topics)\r
+ {\r
+ printf("topics is null\n");\r
+ return;\r
+ }\r
+\r
+ NSTopics * iter = topics;\r
+\r
+ while(iter)\r
+ {\r
+ printf("tName = %s, tState = %d\n", iter->topicName, (int)iter->state);\r
+ iter = iter->next;\r
+ }\r
+}\r
+\r
+void removeTopics(NSTopics * topics)\r
+{\r
+ if(!topics)\r
+ {\r
+ printf("topics is null\n");\r
+ return;\r
+ }\r
+\r
+ NSTopics * iter = topics;\r
+\r
+ while(iter)\r
+ {\r
+ NSTopics * del = iter;\r
+ if(del->topicName)\r
+ {\r
+ OICFree(del->topicName);\r
+ }\r
+ iter = iter->next;\r
+\r
+ OICFree(del);\r
+ }\r
+}\r
+\r
int main()\r
{\r
int num;\r
{\r
char dummy;\r
\r
- printf("1. NSStartProvider(Accepter: Provider) \n");\r
- printf("2. NSStartProvider(Accepter: Consumer) \n");\r
- printf("3. NSSendNotification() \n");\r
- printf("4. NSRead \n");\r
- printf("5. NSStopProvider() \n");\r
-\r
- printf("11. NSCloudLogin \n");\r
- printf("12. NSCloudLogout \n");\r
+ printf("==============================================\n");\r
+ printf("1. NSStartProvider(Accepter: Provider) \n");\r
+ printf("2. NSStartProvider(Accepter: Consumer) \n");\r
+ printf("3. NSSendNotification() \n");\r
+ printf("4. NSRead() \n");\r
+ printf("5. NSProviderAddTopic(); \n");\r
+ printf("6. NSProviderDeleteTopic(); \n");\r
+ printf("7. NSProviderSelectTopic(); \n");\r
+ printf("8. NSProviderUnselectTopic(); \n");\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("0. Exit() \n");\r
+ printf("==============================================\n");\r
\r
printf("input : ");\r
\r
NSStartProvider(config);\r
}\r
break;\r
+\r
case 3:\r
+ {\r
printf("NSSendNotification()");\r
-\r
char title[100];\r
char body[100];\r
\r
msg->sourceName = OICStrdup("OCF");\r
\r
NSSendMessage(msg);\r
-\r
+ }\r
break;\r
\r
case 4:\r
- printf("NSRead");\r
+ printf("NSRead\n");\r
break;\r
\r
case 5:\r
- NSStopProvider();\r
+ printf("NSProviderAddTopic\n");\r
+ NSProviderAddTopic("OCF_TOPIC1");\r
+ NSProviderAddTopic("OCF_TOPIC2");\r
+ NSProviderAddTopic("OCF_TOPIC3");\r
+ NSProviderAddTopic("OCF_TOPIC4");\r
+ break;\r
+\r
+ case 6:\r
+ printf("NSProviderDeleteTopic\n");\r
+ NSProviderDeleteTopic("OCF_TOPIC2");\r
+ break;\r
+\r
+ case 7:\r
+ printf("NSProviderSelectTopic\n");\r
+ NSProviderSelectTopic("OCF_TOPIC1");\r
+ NSProviderSelectTopic("OCF_TOPIC2");\r
+ NSProviderSelectTopic("OCF_TOPIC3");\r
+ NSProviderSelectTopic("OCF_TOPIC4");\r
+ break;\r
+\r
+ case 8:\r
+ printf("NSProviderUnSelectTopic\n");\r
+ NSProviderUnSelectTopic("OCF_TOPIC1");\r
+ break;\r
+\r
+ case 9:\r
+ printf("NSProviderGetConsumerTopics\n");\r
+ NSTopics * topics = NSProviderGetConsumerTopics(mainConsumer);\r
+ printTopics(topics);\r
+ removeTopics(topics);\r
+ break;\r
+\r
+ case 10:\r
+ printf("NSProviderGetConsumerTopics\n");\r
+ NSTopics * topics = NSProviderGetTopics();\r
+ printTopics(topics);\r
+ removeTopics(topics);\r
break;\r
\r
case 11:\r
+ NSStopProvider();\r
+ break;\r
+\r
+ case 12:\r
printf("NSCloudLogin");\r
\r
printf("Cloud Address: ");\r
#endif\r
printf("OCCloudLogin requested");\r
break;\r
- case 12:\r
+ case 13:\r
printf("NSCloudLogout");\r
#ifdef WITH_CLOUD\r
NSCloudLogout(REMOTE_SERVER_ADDRESS, REMOTE_SERVER_SESSION, CloudLoginoutCallback);\r