char * NSGetCloudUri(const char * providerId, char * uri)
{
- size_t uriLen = NS_DEVICE_ID_LENGTH + 1 + strlen(uri) + 1;
+ size_t uriLen = NS_DEVICE_ID_LENGTH + 1 + strlen(uri) + 1 + 3;
char * retUri = (char *)OICMalloc(uriLen);
NS_VERIFY_NOT_NULL_WITH_POST_CLEANING(retUri, NULL, NSOICFree(uri));
- snprintf(retUri, uriLen, "/%s%s", providerId, uri);
+ snprintf(retUri, uriLen, "/di/%s%s", providerId, uri);
NSOICFree(uri);
NS_LOG_V(DEBUG, "Cloud uri : %s", retUri);
(void) handle;
NS_VERIFY_NOT_NULL(clientResponse, OC_STACK_KEEP_TRANSACTION);
+ NS_VERIFY_NOT_NULL(clientResponse->payload, OC_STACK_KEEP_TRANSACTION);
NS_VERIFY_STACK_SUCCESS(
NSOCResultToSuccess(clientResponse->result), OC_STACK_KEEP_TRANSACTION);
}
OCResourcePayload * resource = ((OCDiscoveryPayload *)clientResponse->payload)->resources;
+ NS_LOG_V(DEBUG, "Discovered resource uri : %s",
+ resource->uri);
while (resource)
{
NS_VERIFY_NOT_NULL(resource->uri, OC_STACK_KEEP_TRANSACTION);
NSProvider_internal * newProvider = NSGetProvider(clientResponse);
NS_VERIFY_NOT_NULL(newProvider, OC_STACK_KEEP_TRANSACTION);
- if (ctx && *((NSConsumerDiscoverType *)ctx) == NS_DISCOVER_CLOUD )
+ if (ctx && ctx == (void *)NS_DISCOVER_CLOUD )
{
newProvider->connection->isCloudConnection = true;
}
}
int tmp = index + 1;
- uint16_t port = address[tmp++];
+ uint16_t port = address[tmp++] - '0';
while(address[tmp] != '\0')
{
NS_VERIFY_NOT_NULL(retAddr, NULL);
retAddr->adapter = OC_ADAPTER_TCP;
- OICStrcpy(retAddr->addr, index - 1, address);
+ OICStrcpy(retAddr->addr, index + 1, address);
retAddr->addr[index] = '\0';
retAddr->port = port;
+ retAddr->flags = OC_IP_USE_V6;
+
+ NS_LOG(DEBUG, "Change Address for TCP request");
+ NS_LOG_V(DEBUG, "Origin : %s", address);
+ NS_LOG_V(DEBUG, "Changed Addr : %s", retAddr->addr);
+ NS_LOG_V(DEBUG, "Changed Port : %d", retAddr->port);
return retAddr;
}
if (rType == NS_DISCOVER_CLOUD)
{
- *callbackData = NS_DISCOVER_CLOUD;
+ callbackData = (void *) NS_DISCOVER_CLOUD;
}
}
else
bool isStartedConsumer = NSIsStartedConsumer();
NS_VERIFY_NOT_NULL(isStartedConsumer == true ? (void *) 1 : NULL, NS_ERROR);
- char * queryAddr = OICStrdup(serverAddress);
+ char * queryAddr = NULL;
+ if (strstr(serverAddress, "coap+tcp://"))
+ {
+ queryAddr = OICStrdup(serverAddress+11);
+ }
+ else if (strstr(serverAddress, "coap://"))
+ {
+ queryAddr = OICStrdup(serverAddress+7);
+ }
+ else
+ {
+ queryAddr = OICStrdup(serverAddress);
+ }
NS_VERIFY_NOT_NULL(queryAddr, NS_ERROR);
NSTask * discoverTask = NSMakeTask(TASK_CONSUMER_REQ_DISCOVER, (void *)queryAddr);