since IP can be changed by AP status.
it is needed to have deviceID in CA layer.
Change-Id: I94fe8c3f48356a9d58ec8004387b99a39398041e
Signed-off-by: jihwan.seo <jihwan.seo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/14769
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jaehong Jo <jaehong.jo@samsung.com>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
OIC_LIB_PATH := ../../../../out/android/$(APP_ABI)/$(APP_OPTIM)\r
LOCAL_MODULE := libandroid-octbstack\r
LOCAL_SRC_FILES := $(OIC_LIB_PATH)/liboctbstack.so\r
+LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common/ocrandom/include\r
include $(PREBUILT_SHARED_LIBRARY)\r
\r
include $(CLEAR_VARS)\r
LOCAL_LDLIBS := -llog\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/csdk/connectivity/api\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common\r
+LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common/ocrandom/include\r
include $(BUILD_SHARED_LIBRARY)\r
\r
include $(CLEAR_VARS)\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common/oic_string/include\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common/oic_malloc/include\r
+LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/c_common/ocrandom/include\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/csdk/stack/include\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/csdk/ocsocket/include\r
LOCAL_C_INCLUDES += $(OIC_SRC_PATH)/csdk/resource-directory/include\r
#include <mswsock.h>
#endif
+#include "ocrandom.h"
+
#ifdef __cplusplus
extern "C"
{
uint16_t port; // for IP
char addr[MAX_ADDR_STR_SIZE_CA]; // address for all
uint32_t ifindex; // usually zero for default interface
+ char deviceId[UUID_STRING_SIZE]; // device ID of remote device
#if defined (ROUTING_GATEWAY) || defined (ROUTING_EP)
char routeData[MAX_ADDR_STR_SIZE_CA]; /**< GatewayId:ClientId of
destination. **/
return CA_MEMORY_ALLOC_FAILED;
}
+ OIC_LOG_V(DEBUG, TAG, "device ID of endpoint of this message is %s", endpoint->deviceId);
+
#ifdef SINGLE_THREAD
CAResult_t result = CAProcessSendData(data);
if (CA_STATUS_OK != result)
#define WITH_PRESENCE
#include "ocpresence.h"
+#include "ocrandom.h"
//-----------------------------------------------------------------------------
// Defines
//-----------------------------------------------------------------------------
/** destination GatewayID:ClientId.*/
char routeData[MAX_ADDR_STR_SIZE];
+ /** destination DeviceID.*/
+ char deviceId[UUID_STRING_SIZE];
+
} OCDevAddr;
/**
out->adapter = (CATransportAdapter_t)in->adapter;
out->flags = OCToCATransportFlags(in->flags);
OICStrcpy(out->addr, sizeof(out->addr), in->addr);
+ OICStrcpy(out->deviceId, sizeof(out->deviceId), in->deviceId);
#if defined (ROUTING_GATEWAY) || defined (ROUTING_EP)
/* This assert is to prevent accidental mismatch between address size macros defined in
* RI and CA and cause crash here. */
OCUpdateResourceInsWithResponse(cbNode->requestUri, &response);
}
#endif
+ // set deviceId into OCClientResponse callback parameter
+ if (OC_REST_DISCOVER == cbNode->method)
+ {
+ OCDiscoveryPayload *payload = (OCDiscoveryPayload*) response.payload;
+ if (!payload)
+ {
+ OIC_LOG(INFO, TAG, "discovery payload is invalid");
+ return;
+ }
+
+ OICStrcpy(response.devAddr.deviceId, sizeof(response.devAddr.deviceId),
+ payload->sid);
+ OIC_LOG_V(INFO, TAG, "Device ID of response : %s",
+ response.devAddr.deviceId);
+ }
+
OCStackApplicationResult appFeedback = cbNode->callBack(cbNode->context,
cbNode->handle,
&response);
result = OC_STACK_NO_MEMORY;
goto exit;
}
+ OIC_LOG(DEBUG, TAG, "devAddr is set as destination");
*devAddr = *destination;
}
+ if (devAddr)
+ {
+ OIC_LOG_V(DEBUG, TAG, "DeviceID of devAddr : %s", devAddr->deviceId);
+ }
+
resHandle = GenerateInvocationHandle();
if (!resHandle)
{
$(LOCAL_PATH)/../../../../../../../../../resource/c_common \
$(LOCAL_PATH)/../../../../../../../../../resource/oc_logger/include \
$(LOCAL_PATH)/../../../../../../../../../resource/c_common/oic_malloc/include \
+ $(LOCAL_PATH)/../../../../../../../../../resource/c_common/ocrandom/include \
$(LOCAL_PATH)/../../../../../../../../../resource/csdk/connectivity/api \
$(LOCAL_PATH)/../../../../../../../../../resource/csdk/stack/include \
$(LOCAL_PATH)/../../../../../../../../../resource/csdk/logger/include \
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/csdk/logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common
+LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/ocrandom/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/oic_string/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/oc_logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/extlibs/boost/boost_1_58_0
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/csdk/logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common
+LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/ocrandom/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/oic_string/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/oc_logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/extlibs/boost/boost_1_58_0
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/csdk/logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/oc_logger/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common
+LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/ocrandom/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/extlibs/
LOCAL_C_INCLUDES := $(LOCAL_PATH)/util
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common
+LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/c_common/ocrandom/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/resource/csdk/stack/include
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/extlibs/boost/boost_1_58_0
LOCAL_C_INCLUDES += $(OIC_SRC_DIR)/service/resource-encapsulation/include