+ NSCacheElement * it = consumerSubList->head;
+
+ while (it)
+ {
+ NSCacheSubData * subData = (NSCacheSubData *) it->data;
+ NS_LOG_V(INFO_PRIVATE, "message subData->id = %s", subData->id);
+ NS_LOG_V(DEBUG, "subData->messageId = %d", subData->messageObId);
+ NS_LOG_V(DEBUG, "subData->cloud_messageId = %d", subData->remote_messageObId);
+ NS_LOG_V(DEBUG, "subData->syncId = %d", subData->syncObId);
+ NS_LOG_V(DEBUG, "subData->cloud_syncId = %d", subData->remote_syncObId);
+ NS_LOG_V(DEBUG, "subData->isWhite = %d", subData->isWhite);
+
+ if (subData->isWhite)
+ {
+ if(subData->messageObId != 0)
+ {
+ if (msg->topic && (msg->topic)[0] != '\0')
+ {
+ NS_LOG_V(DEBUG, "this is topic message: %s", msg->topic);
+
+ if (NSProviderIsTopicSubScribed(consumerTopicList->head, subData->id, msg->topic))
+ {
+ obArray[obCount++] = subData->messageObId;
+ }
+ }
+ else
+ {
+ obArray[obCount++] = subData->messageObId;
+ }
+ }
+
+#if (defined WITH_CLOUD)
+ if (subData->remote_messageObId != 0)
+ {
+ if (msg->topic && (msg->topic)[0] != '\0')
+ {
+ NS_LOG_V(DEBUG, "this is topic message via remote server: %s", msg->topic);
+ if (NSProviderIsTopicSubScribed(consumerTopicList->head, subData->id, msg->topic))
+ {
+ obArray[obCount++] = subData->remote_messageObId;
+ }
+ }
+ else
+ {
+ obArray[obCount++] = subData->remote_messageObId;
+ }
+ }
+#endif
+
+ }
+ it = it->next;
+ }
+
+ for (i = 0; i < obCount; ++i)