For a device, each service can have different payload.
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
*/
int _uam_add_ibeacon_adv_data(unsigned int adv_len, const char *ibeacon_adv);
+/**
+ * @brief Adds a payload for a device.
+ * @since_tizen 5.5
+ *
+ * @param[in] payload Payload information.
+ * @param[in] device_id Device id.
+ * @param[in] tech_type Sensor type.
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #UAM_ERROR_NONE Successful
+ * @retval #UAM_ERROR_INVALID_PARAMETER Invalid parameters
+ * @retval #UAM_ERROR_INTERNAL Internal error
+ *
+ * @exception
+ * @pre
+ * @post
+ */
+int _uam_request_add_payload(uam_ble_payload_s *payload,
+ char *device_id, uam_tech_type_e tech_type);
+
#ifdef __cplusplus
}
#endif
FUNC_EXIT;
return ret;
}
+
+UAM_EXPORT_API int _uam_request_add_payload(uam_ble_payload_s *payload,
+ char *device_id, uam_tech_type_e tech_type)
+{
+ FUNC_ENTRY;
+ int ret;
+ char str[UAM_DEVICE_ID_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(payload);
+ UAM_VALIDATE_INPUT_PARAMETER(device_id);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_array_append_vals(in_param1, payload, sizeof(uam_ble_payload_s));
+ g_strlcpy(str, device_id, UAM_DEVICE_ID_MAX_STRING_LEN);
+ g_array_append_vals(in_param2, str, sizeof(str));
+ g_array_append_vals(in_param3, &tech_type, sizeof(int));
+
+// ret = _uam_async_request(UAM_REQUEST_ADD_PAYLOAD, in_param1, in_param2,
+// in_param3, in_param4, cb_info.callback, cb_info.user_data);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
presence_state INTEGER,
os_type INTEGER,
discriminant INTEGER,
- service_id TEXT,
- purpose TEXT,
- duid TEXT,
- device_icon TEXT,
FOREIGN KEY(user_id) REFERENCES userdata(user_id),
UNIQUE (device_id, tech_type)
);
+CREATE TABLE IF NOT EXISTS payloads (
+ payload_number INTEGER PRIMARY KEY AUTOINCREMENT,
+ primary_key TEXT,
+ secondary_key TEXT,
+ device_uid TEXT,
+ device_icon TEXT,
+ device_number INTEGER,
+ FOREIGN KEY(device_number) REFERENCES devices(device_number),
+ UNIQUE (primary_key, secondary_key, device_uid)
+);
+
CREATE TABLE IF NOT EXISTS services (
service_number INTEGER PRIMARY KEY AUTOINCREMENT,
service_name TEXT,
#define UAM_DB_SERVICES_TABLE "services" /**< Service DB table name */
#define UAM_DB_DEVICE_SERVICES_TABLE "device_services" /**< Device services DB table name */
#define UAM_DB_IBEACON_ADV_TABLE "ibeacon_adv" /**< iBeacon adv DB table name */
+#define UAM_DB_PAYLOAD_TABLE "payload" /**< payload DB table name */
#define CREATE_USERDATA_TABLE "CREATE TABLE IF NOT EXISTS userdata ( " \
"name TEXT, " \
"presence_state INTEGER, " \
"os_type INTEGER, " \
"discriminant INTEGER, " \
+ "FOREIGN KEY(user_id) REFERENCES userdata(user_id), " \
+ "UNIQUE (device_id, tech_type, address) " \
+ "); "
+
+#define CREATE_PAYLOAD_TABLE "CREATE TABLE IF NOT EXISTS payloads ( " \
+ "payload_number INTEGER PRIMARY KEY AUTOINCREMENT, " \
"primary_key TEXT, " \
"secondary_key TEXT, " \
"device_uid TEXT, " \
"device_icon TEXT, " \
- "FOREIGN KEY(user_id) REFERENCES userdata(user_id), " \
- "UNIQUE (device_id, tech_type) " \
+ "device_number INTEGER, " \
+ "FOREIGN KEY(device_number) REFERENCES devices(device_number), " \
+ "UNIQUE (primary_key, secondary_key, device_uid) " \
"); "
#define CREATE_SERVICES_TABLE "CREATE TABLE IF NOT EXISTS services ( " \