replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / notification / src / common / NSStructs.h
index 2cab5f5..39126bc 100644 (file)
 #include <stdlib.h>\r
 #include <stdio.h>\r
 #include <stdbool.h>\r
+#include <octypes.h>\r
 #include "NSCommon.h"\r
 #include "NSConstants.h"\r
+#include "ocstack.h"\r
 \r
 typedef struct _nsTask\r
 {\r
     NSTaskType taskType;\r
-    void* taskData;\r
-    struct _nsTask* nextTask;\r
+    void * taskData;\r
+    struct _nsTask * nextTask;\r
+\r
 } NSTask;\r
 \r
+typedef struct\r
+{\r
+    NSTopicLL * head;\r
+    NSTopicLL * tail;\r
+    char consumerId[NS_UUID_STRING_SIZE];\r
+    NSTopicLL ** topics;\r
+\r
+} NSTopicList;\r
+\r
 typedef void * NSCacheData;\r
 \r
 typedef struct _NSCacheElement\r
 {\r
     NSCacheData * data;\r
     struct _NSCacheElement * next;\r
+\r
 } NSCacheElement;\r
 \r
 typedef struct\r
@@ -48,29 +61,54 @@ typedef struct
     NSCacheType cacheType;\r
     NSCacheElement * head;\r
     NSCacheElement * tail;\r
+\r
 } NSCacheList;\r
 \r
 typedef struct\r
 {\r
-    char * id; // ip\r
-    int syncObId;\r
-    int messageObId;\r
-    bool isWhite;\r
-}NSCacheSubData;\r
+    char id[NS_UUID_STRING_SIZE];\r
+    int syncObId; // sync resource observer ID for local consumer\r
+    int messageObId; // message resource observer ID for local consumer\r
+    int remote_syncObId; //sync observer ID subscribed through remote server\r
+    int remote_messageObId; //message observer ID subscribed through remote server\r
+    bool isWhite; // access state -> True: allowed / False: blocked\r
+\r
+} NSCacheSubData;\r
 \r
 typedef struct\r
 {\r
-    char * id; // ip ? ? ?\r
+    char * id;\r
     int messageType; // noti = 1, read = 2, dismiss = 3\r
     NSMessage * nsMessage;\r
-}NSCacheMsgData;\r
+\r
+} NSCacheMsgData;\r
+\r
+typedef struct\r
+{\r
+    char * topicName;\r
+    NSTopicState state;\r
+\r
+} NSCacheTopicData;\r
+\r
+typedef struct\r
+{\r
+    char id[NS_UUID_STRING_SIZE];\r
+    char * topicName;\r
+\r
+} NSCacheTopicSubData;\r
 \r
 typedef struct\r
 {\r
     OCResourceHandle handle;\r
-    int accepter;\r
-    char* message_uri;\r
-    char* sync_uri;\r
+    char providerId[NS_UUID_STRING_SIZE];\r
+    char * version;\r
+    bool policy;\r
+    char * message_uri;\r
+    char * sync_uri;\r
+\r
+    //optional\r
+    char * topic_uri;\r
+\r
 } NSNotificationResource;\r
 \r
 typedef struct\r
@@ -78,7 +116,7 @@ typedef struct
     OCResourceHandle handle;\r
 \r
     uint64_t messageId;\r
-    char providerId[37];\r
+    char providerId[NS_UUID_STRING_SIZE];\r
 \r
     //optional\r
     NSMessageType type;\r
@@ -87,6 +125,7 @@ typedef struct
     char * title;\r
     char * contentText;\r
     char * sourceName;\r
+    char * topicName;\r
     NSMediaContents * mediaContents;\r
 \r
 } NSMessageResource;\r
@@ -94,14 +133,43 @@ typedef struct
 typedef struct\r
 {\r
     OCResourceHandle handle;\r
-    char* id;\r
-    char* state;\r
+    uint64_t messageId;\r
+    char providerId[NS_UUID_STRING_SIZE];\r
+    char * state;\r
+\r
 } NSSyncResource;\r
 \r
 typedef struct\r
 {\r
-  char providerId[37];\r
-  char * providerName;\r
+    OCResourceHandle handle;\r
+    char providerId[NS_UUID_STRING_SIZE];\r
+    char consumerId[NS_UUID_STRING_SIZE];\r
+    NSTopicList ** TopicList;\r
+\r
+} NSTopicResource;\r
+\r
+typedef struct\r
+{\r
+    char providerId[NS_UUID_STRING_SIZE];\r
+    char * providerName;\r
+    char * userInfo;\r
+\r
 } NSProviderInfo;\r
 \r
+#ifdef WITH_MQ\r
+typedef struct\r
+{\r
+    char * serverAddr;\r
+    char * topicName;\r
+\r
+} NSMQTopicAddress;\r
+\r
+typedef struct\r
+{\r
+    char * serverUri;\r
+    OCDevAddr * devAddr;\r
+\r
+} NSMQServerInfo;\r
+#endif\r
+\r
 #endif /* _NS_STRUCTS_H_ */\r