return ret;
}
-UAM_EXPORT_API int _uam_start_presence_detection(unsigned int bitmask)
+UAM_EXPORT_API int _uam_start_presence_detection(unsigned int bitmask, const char *service)
{
FUNC_ENTRY;
int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
UAM_INIT_PARAMS();
UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
g_array_append_vals(in_param1, &bitmask, sizeof(unsigned int));
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param2, svc_str, sizeof(svc_str));
+
ret = _uam_sync_request(UAM_REQUEST_START_PRESENCE_DETECTION,
in_param1, in_param2, in_param3, in_param4, &out_param);
return ret;
}
-UAM_EXPORT_API int _uam_stop_presence_detection(unsigned int bitmask)
+UAM_EXPORT_API int _uam_stop_presence_detection(unsigned int bitmask, const char *service)
{
FUNC_ENTRY;
int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
UAM_INIT_PARAMS();
UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
g_array_append_vals(in_param1, &bitmask, sizeof(unsigned int));
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param2, svc_str, sizeof(svc_str));
+
ret = _uam_sync_request(UAM_REQUEST_STOP_PRESENCE_DETECTION,
in_param1, in_param2, in_param3, in_param4, &out_param);
return ret;
}
-UAM_EXPORT_API int _uam_start_absence_detection(unsigned int bitmask)
+UAM_EXPORT_API int _uam_start_absence_detection(unsigned int bitmask, const char *service)
{
FUNC_ENTRY;
int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
UAM_INIT_PARAMS();
UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
g_array_append_vals(in_param1, &bitmask, sizeof(unsigned int));
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param2, svc_str, sizeof(svc_str));
+
ret = _uam_sync_request(UAM_REQUEST_START_ABSENCE_DETECTION,
in_param1, in_param2, in_param3, in_param4, &out_param);
return ret;
}
-UAM_EXPORT_API int _uam_stop_absence_detection(unsigned int bitmask)
+UAM_EXPORT_API int _uam_stop_absence_detection(unsigned int bitmask, const char *service)
{
FUNC_ENTRY;
int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
UAM_INIT_PARAMS();
UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
g_array_append_vals(in_param1, &bitmask, sizeof(unsigned int));
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param2, svc_str, sizeof(svc_str));
+
ret = _uam_sync_request(UAM_REQUEST_STOP_ABSENCE_DETECTION,
in_param1, in_param2, in_param3, in_param4, &out_param);
FUNC_EXIT;
return ret;
}
+
+UAM_EXPORT_API int _uam_service_add_user(const char *service, uam_user_info_t *user)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+ char account_str[UAM_USER_ACCOUNT_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+ UAM_VALIDATE_INPUT_PARAMETER(user);
+ UAM_VALIDATE_INPUT_PARAMETER(user->account);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ g_strlcpy(account_str, user->account, UAM_USER_ACCOUNT_MAX_STRING_LEN);
+ g_array_append_vals(in_param2, account_str, sizeof(account_str));
+
+ ret = _uam_sync_request(UAM_REQUEST_ADD_USER_TO_SERVICE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
+UAM_EXPORT_API int _uam_service_remove_user(const char *service, uam_user_info_t *user)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+ char account_str[UAM_USER_ACCOUNT_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+ UAM_VALIDATE_INPUT_PARAMETER(user);
+ UAM_VALIDATE_INPUT_PARAMETER(user->account);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ g_strlcpy(account_str, user->account, UAM_USER_ACCOUNT_MAX_STRING_LEN);
+ g_array_append_vals(in_param2, account_str, sizeof(account_str));
+
+ ret = _uam_sync_request(UAM_REQUEST_REMOVE_USER_FROM_SERVICE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
+UAM_EXPORT_API int _uam_service_add_device(const char *service, char *device_id, uam_tech_type_e tech_type)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+ char str[UAM_DEVICE_ID_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+ UAM_VALIDATE_INPUT_PARAMETER(device_id);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ 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_sync_request(UAM_REQUEST_ADD_DEVICE_TO_SERVICE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
+UAM_EXPORT_API int _uam_service_remove_device(const char *service, char *device_id, uam_tech_type_e tech_type)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+ char str[UAM_DEVICE_ID_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+ UAM_VALIDATE_INPUT_PARAMETER(device_id);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ 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_sync_request(UAM_REQUEST_REMOVE_DEVICE_FROM_SERVICE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
+UAM_EXPORT_API int _uam_set_service_detection_cycle(const char *service, int cycle)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+ g_array_append_vals(in_param2, &cycle, sizeof(int));
+
+ ret = _uam_sync_request(UAM_REQUEST_SET_SERVICE_DETECTION_CYCLE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
+UAM_EXPORT_API int _uam_get_service_detection_cycle(const char *service)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UA_MAX_SERVICE_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UA_MAX_SERVICE_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ ret = _uam_sync_request(UAM_REQUEST_GET_SERVICE_DETECTION_CYCLE,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}