X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fstack%2Fsrc%2Focclientcb.c;h=82f46ce401d84421bcb59d2050d9b0ca8b099c03;hb=8229635f6d207516ccbbdf23b13be164e0fc1787;hp=cc2bfb40a0f4358758068ec8f0e99c4ada2b0cf3;hpb=5b285e73548cac989ef00461e1a96bc60b613ae1;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/stack/src/occlientcb.c b/resource/csdk/stack/src/occlientcb.c old mode 100644 new mode 100755 index cc2bfb4..82f46ce --- a/resource/csdk/stack/src/occlientcb.c +++ b/resource/csdk/stack/src/occlientcb.c @@ -18,10 +18,10 @@ // //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - +#include "iotivity_config.h" #include "occlientcb.h" -#include "utlist.h" #include "logger.h" +#include "trace.h" #include "oic_malloc.h" #include @@ -31,16 +31,15 @@ #ifdef HAVE_ARDUINO_TIME_H #include "Time.h" #endif -#include "coap_time.h" #include "cacommon.h" #include "cainterface.h" +#include /// Module Name #define TAG "OIC_RI_CLIENTCB" struct ClientCB *cbList = NULL; -static OCMulticastNode * mcPresenceNodes = NULL; OCStackResult AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, @@ -49,11 +48,13 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, OCDevAddr *devAddr, char * requestUri, char * resourceTypeName, uint32_t ttl) { - if (!clientCB || !cbData || !handle || !requestUri || tokenLength > CA_MAX_TOKEN_LEN) + if (!clientCB || !cbData || !handle || tokenLength > CA_MAX_TOKEN_LEN) { return OC_STACK_INVALID_PARAM; } + OIC_TRACE_BEGIN(%s:AddClientCB, TAG); + ClientCB *cbNode = NULL; #ifdef WITH_PRESENCE @@ -75,6 +76,8 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, { OIC_LOG(INFO, TAG, "Adding client callback with token"); OIC_LOG_BUFFER(INFO, TAG, (const uint8_t *)token, tokenLength); + OIC_TRACE_BUFFER("OIC_RI_CLIENTCB:AddClientCB:token", + (const uint8_t *) token, tokenLength); cbNode->callBack = cbData->cb; cbNode->context = cbData->context; cbNode->deleteCallback = cbData->cd; @@ -90,7 +93,10 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, cbNode->filterResourceType = NULL; #endif // WITH_PRESENCE - if (method == OC_REST_PRESENCE || + if ( +#ifdef WITH_PRESENCE + method == OC_REST_PRESENCE || +#endif method == OC_REST_OBSERVE || method == OC_REST_OBSERVE_ALL) { @@ -103,6 +109,7 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, cbNode->requestUri = requestUri; // I own it now cbNode->devAddr = devAddr; // I own it now OIC_LOG_V(INFO, TAG, "Added Callback for uri : %s", requestUri); + OIC_TRACE_MARK(%s:AddClientCB:uri:%s, TAG, requestUri); LL_APPEND(cbList, cbNode); *clientCB = cbNode; } @@ -128,6 +135,7 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, if (method == OC_REST_PRESENCE && resourceTypeName) { + OIC_TRACE_END(); // Amend the found or created node by adding a new resourceType to it. return InsertResourceTypeFilter(cbNode,(char *)resourceTypeName); // I own resourceTypName now. @@ -140,24 +148,33 @@ AddClientCB (ClientCB** clientCB, OCCallbackData* cbData, OICFree(resourceTypeName); #endif + OIC_TRACE_END(); return OC_STACK_OK; exit: + OIC_TRACE_END(); return OC_STACK_NO_MEMORY; } void DeleteClientCB(ClientCB * cbNode) { + OIC_TRACE_BEGIN(%s:DeleteClientCB, TAG); if (cbNode) { LL_DELETE(cbList, cbNode); OIC_LOG (INFO, TAG, "Deleting token"); OIC_LOG_BUFFER(INFO, TAG, (const uint8_t *)cbNode->token, cbNode->tokenLength); + OIC_TRACE_BUFFER("OIC_RI_CLIENTCB:DeleteClientCB:token", + (const uint8_t *)cbNode->token, cbNode->tokenLength); CADestroyToken (cbNode->token); OICFree(cbNode->devAddr); OICFree(cbNode->handle); - OIC_LOG_V (INFO, TAG, "Deleting callback with uri %s", cbNode->requestUri); - OICFree(cbNode->requestUri); + if (cbNode->requestUri) + { + OIC_LOG_V (INFO, TAG, "Deleting callback with uri %s", cbNode->requestUri); + OIC_TRACE_MARK(%s:DeleteClientCB:uri:%s, TAG, cbNode->requestUri); + OICFree(cbNode->requestUri); + } if (cbNode->deleteCallback) { cbNode->deleteCallback(cbNode->context); @@ -185,6 +202,7 @@ void DeleteClientCB(ClientCB * cbNode) OICFree(cbNode); cbNode = NULL; } + OIC_TRACE_END(); } /* @@ -223,13 +241,13 @@ ClientCB* GetClientCB(const CAToken_t token, uint8_t tokenLength, { OIC_LOG (INFO, TAG, "Looking for token"); OIC_LOG_BUFFER(INFO, TAG, (const uint8_t *)token, tokenLength); - OIC_LOG(INFO, TAG, "\tFound in callback list"); LL_FOREACH(cbList, out) { - OIC_LOG_BUFFER(INFO, TAG, (const uint8_t *)out->token, tokenLength); - + /* de-annotate below line if want to see all token in cbList */ + //OIC_LOG_BUFFER(INFO, TAG, (const uint8_t *)out->token, tokenLength); if (memcmp(out->token, token, tokenLength) == 0) { + OIC_LOG(INFO, TAG, "Found in callback list"); return out; } CheckAndDeleteTimedOutCB(out); @@ -237,10 +255,12 @@ ClientCB* GetClientCB(const CAToken_t token, uint8_t tokenLength, } else if (handle) { + OIC_LOG (INFO, TAG, "Looking for handle"); LL_FOREACH(cbList, out) { if (out->handle == handle) { + OIC_LOG(INFO, TAG, "Found in callback list"); return out; } CheckAndDeleteTimedOutCB(out); @@ -251,9 +271,11 @@ ClientCB* GetClientCB(const CAToken_t token, uint8_t tokenLength, OIC_LOG_V(INFO, TAG, "Looking for uri %s", requestUri); LL_FOREACH(cbList, out) { - OIC_LOG_V(INFO, TAG, "\tFound %s", out->requestUri); + /* de-annotate below line if want to see all uri in cbList */ + //OIC_LOG_V(INFO, TAG, "%s", out->requestUri); if (out->requestUri && strcmp(out->requestUri, requestUri ) == 0) { + OIC_LOG(INFO, TAG, "Found in callback list"); return out; } CheckAndDeleteTimedOutCB(out); @@ -312,40 +334,3 @@ void FindAndDeleteClientCB(ClientCB * cbNode) } } } - -OCStackResult AddMCPresenceNode(OCMulticastNode** outnode, char* uri, uint32_t nonce) -{ - if (!outnode) - { - return OC_STACK_INVALID_PARAM; - } - - OCMulticastNode *node = (OCMulticastNode*) OICMalloc(sizeof(*node)); - if (node) - { - node->nonce = nonce; - node->uri = uri; - LL_APPEND(mcPresenceNodes, node); - *outnode = node; - return OC_STACK_OK; - } - *outnode = NULL; - return OC_STACK_NO_MEMORY; -} - -OCMulticastNode* GetMCPresenceNode(const char * uri) -{ - if (uri) - { - OCMulticastNode* out = NULL; - LL_FOREACH(mcPresenceNodes, out) - { - if (out->uri && strcmp(out->uri, uri) == 0) - { - return out; - } - } - } - OIC_LOG(INFO, TAG, "MulticastNode Not found !!"); - return NULL; -}