API int service_adaptor_foreach_plugin(service_adaptor_h service_adaptor, service_adaptor_plugin_cb callback, void *user_data)
{
+ SAL_FN_CALL;
+
RETV_IF(NULL == service_adaptor, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- return service_adaptor_foreach_plugin2(callback, user_data);
+ return service_adaptor_foreach_service_plugin(callback, user_data);
}
-API int service_adaptor_foreach_plugin2(service_adaptor_plugin_cb callback, void *user_data)
+API int service_adaptor_foreach_service_plugin(service_adaptor_plugin_cb callback, void *user_data)
{
SAL_FN_CALL;
RETV_IF(NULL == service_adaptor, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == message, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- return SERVICE_ADAPTOR_ERROR_NONE;
+ return SERVICE_ADAPTOR_ERROR_NO_DATA;
}
API int service_adaptor_create_plugin(service_adaptor_h service_adaptor, const char *plugin_uri, service_plugin_h *plugin)
API int service_plugin_start(service_plugin_h plugin, int service_mask)
{
- RETV_IF(0 <= service_mask, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ RETV_IF(0 >= service_mask, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- return service_plugin_start2(plugin);
+ return service_plugin_start_all(plugin);
}
-API int service_plugin_start2(service_plugin_h plugin)
+API int service_plugin_start_all(service_plugin_h plugin)
{
SAL_FN_CALL;
* @retval #SERVICE_ADAPTOR_ERROR_UNKNOWN Unknown error
* @pre @a service_adaptor must be issued by service_adaptor_create()
*/
-int service_adaptor_foreach_plugin2(service_adaptor_plugin_cb callback,
+int service_adaptor_foreach_service_plugin(service_adaptor_plugin_cb callback,
void *user_data);
/**
* @retval #SERVICE_ADAPTOR_ERROR_IPC_UNSTABLE IPC failed with Service Adaptor Daemon
* @retval #SERVICE_ADAPTOR_ERROR_UNKNOWN Unknown error
*/
-int service_plugin_start2(service_plugin_h plugin);
+int service_plugin_start_all(service_plugin_h plugin);
/**
* @brief Requests stop manually for service plugin
RETV_IF(NULL == upload_path, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_storage_cloud_file_h file = NULL;
+ service_storage_cloud_file_create(plugin, &file);
+ service_storage_cloud_file_set_operation(file, SERVICE_STORAGE_CLOUD_UPLOAD_FILE_URI);
+ service_storage_cloud_file_set_cloud_path(file, upload_path);
+ service_storage_cloud_file_set_local_path(file, file_path);
+
+ service_task_h service_task = (service_task_h) g_malloc0(sizeof(service_task_s));
+ service_task->cloud_file = file;
+
+ *task = (service_storage_task_h) service_task;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
RETV_IF(NULL == download_path, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_storage_cloud_file_h file = NULL;
+ service_storage_cloud_file_create(plugin, &file);
+ service_storage_cloud_file_set_operation(file, SERVICE_STORAGE_CLOUD_DOWNLOAD_FILE_URI);
+ service_storage_cloud_file_set_cloud_path(file, storage_path);
+ service_storage_cloud_file_set_local_path(file, download_path);
+
+ service_task_h service_task = (service_task_h) g_malloc0(sizeof(service_task_s));
+ service_task->cloud_file = file;
+
+ *task = (service_storage_task_h) service_task;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
RETV_IF(NULL == plugin, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == storage_path, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == download_path, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- RETV_IF(0 < thumbnail_size, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ RETV_IF(0 > thumbnail_size, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_storage_cloud_file_h file = NULL;
+ service_storage_cloud_file_create(plugin, &file);
+ service_storage_cloud_file_set_operation(file, SERVICE_STORAGE_CLOUD_DOWNLOAD_FILE_THUMBNAIL_URI);
+ service_storage_cloud_file_set_cloud_path(file, storage_path);
+ service_storage_cloud_file_set_local_path(file, download_path);
+
+ service_task_h service_task = (service_task_h) g_malloc0(sizeof(service_task_s));
+ service_task->cloud_file = file;
+
+ *task = (service_storage_task_h) service_task;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
{
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- return SERVICE_ADAPTOR_ERROR_NONE;
+ return service_storage_cloud_file_destroy_task((service_task_h) task);
}
API int service_storage_start_task(service_storage_task_h task)
{
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
- return SERVICE_ADAPTOR_ERROR_NONE;
+ return service_task_start((service_task_h) task);
}
API int service_storage_cancel_task(service_storage_task_h task)
{
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+// return service_task_stop((service_task_h) task);
return SERVICE_ADAPTOR_ERROR_NONE;
}
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == callback, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_task_h service_task = (service_task_h) task;
+ service_task->storage_progress_callback = callback;
+ service_task->user_data = user_data;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
{
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_task_h service_task = (service_task_h) task;
+ service_task->storage_progress_callback = NULL;
+ service_task->user_data = NULL;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == callback, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_task_h service_task = (service_task_h) task;
+ service_task->storage_state_callback = callback;
+ service_task->user_data = user_data;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
{
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_task_h service_task = (service_task_h) task;
+ service_task->storage_state_callback = NULL;
+ service_task->user_data = NULL;
+
return SERVICE_ADAPTOR_ERROR_NONE;
}
GList *files;
} service_storage_cloud_file_s;
+typedef struct _service_storage_task_s
+{
+ char *service_handle_name;
+}service_storage_task_t;
+
/*==================================================================================================
FUNCTION PROTOTYPES
==================================================================================================*/
return;
}
- service_tasks = g_list_append(service_tasks, task);
+ // TODO: in IPC
+ if (NULL != task->storage_progress_callback)
+ {
+ task->storage_progress_callback(100, 100, task->user_data);
+ }
+ if (NULL != task->storage_state_callback)
+ {
+ task->storage_state_callback(SERVICE_STORAGE_TASK_COMPLETED, task->user_data);
+ }
}
//******************************************************************************
RETV_IF(NULL == task, SERVICE_ADAPTOR_ERROR_INVALID_PARAMETER);
+ service_tasks = g_list_append(service_tasks, task);
+
g_thread_pool_push(thread_pool, (gpointer) task, NULL);
return SERVICE_ADAPTOR_ERROR_NONE;
service_auth_oauth1_h oauth1;
service_storage_cloud_file_h cloud_file;
+
+ // temp
+ service_storage_task_progress_cb storage_progress_callback;
+ service_storage_task_state_cb storage_state_callback;
+ void *user_data;
} service_task_s;
/*==================================================================================================
}
else if (0 == strcmp(file->operation, SERVICE_STORAGE_CLOUD_DOWNLOAD_FILE_URI))
{
+ ret = plugin->cloud->cloud_remove_file(plugin, file->cloud_path, _cloud_remove_file_cb, reply);
+
return ret;
}
else if (0 == strcmp(file->operation, SERVICE_STORAGE_CLOUD_UPLOAD_FILE_URI))
{
+ ret = plugin->cloud->cloud_remove_file(plugin, file->cloud_path, _cloud_remove_file_cb, reply);
+
return ret;
}
else if (0 == strcmp(file->operation, SERVICE_STORAGE_CLOUD_DOWNLOAD_FILE_THUMBNAIL_URI))
{
+ ret = plugin->cloud->cloud_remove_file(plugin, file->cloud_path, _cloud_remove_file_cb, reply);
+
return ret;
}
else if (0 == strcmp(file->operation, SERVICE_STORAGE_CLOUD_GET_FILE_LIST_URI))
{
+ ret = plugin->cloud->cloud_remove_file(plugin, file->cloud_path, _cloud_remove_file_cb, reply);
+
return ret;
}
Name: service-adaptor
Summary: Service Adaptor Framework for Convergence
-Version: 1.1.0
+Version: 1.1.2
Release: 1
Group: System/Libraries
License: Apache-2.0
*/
static bool _sal_app_meta_cb(const char *key, const char *value, void *user_data)
{
+ SAL_FN_CALL;
+
provider_user_data_h provider_user_data = (provider_user_data_h) user_data;
if ((NULL != key) && (NULL != value))
*/
static bool _sal_app_info_cb(package_info_app_component_type_e comp_type, const char *app_id, void *user_data)
{
+ SAL_FN_CALL;
+
app_info_h app_info = NULL;
int ret = PACKAGE_MANAGER_ERROR_NONE;
char *package = (char *) user_data;
package_manager_error_e error,
void *user_data)
{
+ SAL_FN_CALL;
+
if ((PACKAGE_MANAGER_EVENT_TYPE_INSTALL == event_type) && (PACKAGE_MANAGER_EVENT_STATE_COMPLETED == event_state))
{
int ret = PACKAGE_MANAGER_ERROR_NONE;
*/
static bool _sal_package_info_cb(package_info_h package_info, void *user_data)
{
+ SAL_FN_CALL;
+
int ret = PACKAGE_MANAGER_ERROR_NONE;
char *package = NULL;
*/
service_adaptor_error_e sal_observer_start()
{
+ SAL_FN_CALL;
+
int ret = 0;
package_manager_h package = NULL;
*/
service_adaptor_error_e sal_observer_register_existed_plugin()
{
+ SAL_FN_CALL;
+
int ret = PACKAGE_MANAGER_ERROR_NONE;
ret = package_manager_foreach_package_info(_sal_package_info_cb, NULL);
{
int ret = SERVICE_ADAPTOR_ERROR_NONE;
- ret = service_plugin_start2(service_plugin);
+ ret = service_plugin_start_all(service_plugin);
if (SERVICE_ADAPTOR_ERROR_NONE != ret)
{
int ret = SERVICE_ADAPTOR_ERROR_NONE;
ret = service_adaptor_connect();
- ret = service_adaptor_foreach_plugin2(_service_adaptor_plugin_callback, NULL);
+ ret = service_adaptor_foreach_service_plugin(_service_adaptor_plugin_callback, NULL);
loop = g_main_loop_new(NULL, FALSE);