#include "email-colors.h"
#ifndef EMAIL_API
+#ifdef SHARED_MODULES_FEATURE
#define EMAIL_API __attribute__ ((visibility("default")))
+#else
+#define EMAIL_API
#endif
+#endif
+
#define EMAIL_FILEPATH_MAX 4096 // PATH_MAX in limits.h
#define EMAIL_FILENAME_MAX 255 // NAME_MAX in limits.h
#define MIN_FREE_SPACE (5) /* MB */
#define MAX_ACCOUNT_COUNT 10
+#define EMAIL_BUFF_SIZE_TIN 16
+#define EMAIL_BUFF_SIZE_SML 32
+#define EMAIL_BUFF_SIZE_MID 64
+#define EMAIL_BUFF_SIZE_BIG 128
+#define EMAIL_BUFF_SIZE_HUG 256
+#define EMAIL_BUFF_SIZE_4K 4096
+
/* define bundle key */
#define EMAIL_BUNDLE_KEY_ACCOUNT_TYPE "ACCOUNT_TYPE"
#define EMAIL_BUNDLE_KEY_ACCOUNT_ID "ACCOUNT_ID"
* @return 0 - on success,
* negative value - on error
*/
-EMAIL_API int email_module_send_result(email_module_t *module, app_control_h result);
+EMAIL_API int email_module_send_result(email_module_t *module, email_params_h result);
/**
* @brief Makes destroy request to listener
* NULL - on error
*/
EMAIL_API email_module_h email_module_create_child(email_module_t *module, email_module_type_e module_type,
- app_control_h params, email_module_listener_t *listener);
+ email_params_h params, email_module_listener_t *listener);
/**
* @brief Creates view for specified module
* @return 0 - on success,
* negative value - on error
*/
- int (*create) (email_module_t *self, app_control_h params);
+ int (*create) (email_module_t *self, email_params_h params);
/**
* @brief Virtual function which is called from base implementation to destroy the concrete module
*
* @param[in] self pointer to this module
*/
- void (*on_message) (email_module_t *self, app_control_h msg);
+ void (*on_message) (email_module_t *self, email_params_h msg);
/**
* @brief Virtual function to handle events from module manager
* @param[in] result result status of the reply
* @param[in] reply reply message send back from the application
*/
- void (*reply_cb) (void *data, app_control_result_e result, app_control_h reply);
+ void (*reply_cb) (void *data, app_control_result_e result, email_params_h reply);
/**
* @brief Callback which is used to signal close of the application
* negative value - on error
*/
EMAIL_API int email_module_launch_app(email_module_t *module, email_launch_app_type_e app_type,
- app_control_h params, email_launched_app_listener_t *listener);
+ email_params_h params, email_launched_app_listener_t *listener);
/**
* @brief Launches the attach panel
#ifndef _EMAIL_MODULE_H_
#define _EMAIL_MODULE_H_
-#include <app_control.h>
#include <Evas.h>
-#include "email-common-types.h"
+#include "email-params.h"
/**
* Opaque handle of the email module
* @param[in] module sender module
* @param[in] result result message send back to the listener
*/
- void (*result_cb) (void *data, email_module_h module, app_control_h result);
+ void (*result_cb) (void *data, email_module_h module, email_params_h result);
/**
* @brief Callback which is used to send destroy request to the listener
* NULL - on error
*/
EMAIL_API email_module_h email_module_mgr_create_root_module(email_module_type_e module_type,
- app_control_h params, email_module_listener_t *listener);
+ email_params_h params, email_module_listener_t *listener);
/**
* @brief Checks weather the module manager is in the middle of switching views
* @return 0 - on success,
* negative value - on error
*/
-EMAIL_API int email_module_send_message(email_module_h module, app_control_h msg);
+EMAIL_API int email_module_send_message(email_module_h module, email_params_h msg);
#endif /* _EMAIL_MODULE_H_ */
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __EMAIL_PARAMS__
+#define __EMAIL_PARAMS__
+
+#include "email-common-types.h"
+
+#include <bundle.h>
+#include <app_control.h>
+
+typedef bundle *email_params_h;
+
+EMAIL_API bool email_params_create(email_params_h *params);
+EMAIL_API void email_params_free(email_params_h *params);
+
+EMAIL_API bool email_params_clone(email_params_h *dst, email_params_h src);
+EMAIL_API bool email_params_from_app_control(email_params_h *params, app_control_h app_control);
+EMAIL_API bool email_params_to_app_control(email_params_h params, app_control_h *app_control);
+
+EMAIL_API bool email_params_set_operation(email_params_h params, const char *operation);
+EMAIL_API bool email_params_set_uri(email_params_h params, const char *uri);
+EMAIL_API bool email_params_set_mime(email_params_h params, const char *mime);
+
+EMAIL_API bool email_params_get_operation(email_params_h params, const char **result);
+EMAIL_API bool email_params_get_operation_opt(email_params_h params, const char **result);
+EMAIL_API bool email_params_get_uri(email_params_h params, const char **result);
+EMAIL_API bool email_params_get_uri_opt(email_params_h params, const char **result);
+EMAIL_API bool email_params_get_mime(email_params_h params, const char **result);
+EMAIL_API bool email_params_get_mime_opt(email_params_h params, const char **result);
+
+EMAIL_API bool email_params_add_int(email_params_h params, const char *key, int value);
+EMAIL_API bool email_params_add_str(email_params_h params, const char *key, const char *value);
+EMAIL_API bool email_params_add_str_array(email_params_h params, const char *key,
+ const char **value, int array_length);
+
+EMAIL_API bool email_params_get_is_array(email_params_h params, const char *key, bool *is_array);
+
+EMAIL_API bool email_params_get_int(email_params_h params, const char *key, int *result);
+EMAIL_API bool email_params_get_int_opt(email_params_h params, const char *key, int *result);
+EMAIL_API bool email_params_get_str(email_params_h params, const char *key, const char **result);
+EMAIL_API bool email_params_get_str_opt(email_params_h params, const char *key, const char **result);
+EMAIL_API bool email_params_get_str_array(email_params_h params, const char *key,
+ const char ***result, int *array_length);
+
+#endif /* __EMAIL_PARAMS__ */
#include <errno.h>
#include <system_settings.h>
#include <efl_extension.h>
-#include <app_control.h>
#include "email-common-types.h"
#include "email-debug.h"
#include "email-editfield-utils.h"
#include "email-module-dev.h"
+#include "email-params.h"
#define DEFAULT_CHARSET "UTF-8"
#define EMAIL_DATETIME_FORMAT_12 "yMdhm"
EMAIL_API void email_set_need_restart_flag(bool value);
EMAIL_API bool email_get_need_restart_flag();
-EMAIL_API bool email_params_create(app_control_h *params);
-EMAIL_API void email_params_free(app_control_h *params);
-EMAIL_API bool email_params_operation_set(app_control_h params, const char *operation);
-EMAIL_API bool email_params_uri_set(app_control_h params, const char *uri);
-
-EMAIL_API bool email_params_add_int(app_control_h params, const char *key, int value);
-EMAIL_API bool email_params_add_str(app_control_h params, const char *key, const char *value);
-
-EMAIL_API bool email_params_get_int(app_control_h params, const char *key, int *result);
-EMAIL_API bool email_params_get_int_opt(app_control_h params, const char *key, int *result);
-EMAIL_API bool email_params_get_str(app_control_h params, const char *key, char *result, int result_size);
-EMAIL_API bool email_params_get_str_opt(app_control_h params, const char *key, char *result, int result_size);
-
EMAIL_API int email_preview_attachment_file(email_module_t *module, const char *path, email_launched_app_listener_t *listener);
EMAIL_API email_ext_save_err_type_e email_prepare_temp_file_path(const int index,const char *tmp_root_dir, const char *src_file_path, char **dst_file_path);
/*
*
* @return handle to the module or NULL on error
*/
-static email_module_h _email_module_mgr_create_module(email_module_type_e module_type, app_control_h params,
+static email_module_h _email_module_mgr_create_module(email_module_type_e module_type, email_params_h params,
email_module_listener_t *listener, email_module_t *parent);
/**
* @return 0 on success,
* negative value on error
*/
-static int _email_module_init(email_module_t *module, app_control_h params,
+static int _email_module_init(email_module_t *module, email_params_h params,
email_module_listener_t *listener, email_module_t *parent, Elm_Object_Item *parent_navi_item);
/**
}
email_module_h email_module_mgr_create_root_module(email_module_type_e module_type,
- app_control_h params, email_module_listener_t *listener)
+ email_params_h params, email_module_listener_t *listener)
{
debug_enter();
}
#endif
-email_module_h _email_module_mgr_create_module(email_module_type_e module_type, app_control_h params,
+email_module_h _email_module_mgr_create_module(email_module_type_e module_type, email_params_h params,
email_module_listener_t *listener, email_module_t *parent)
{
debug_enter();
* email_module
*/
-int _email_module_init(email_module_t *module, app_control_h params,
+int _email_module_init(email_module_t *module, email_params_h params,
email_module_listener_t *listener, email_module_t *parent, Elm_Object_Item *parent_navi_item)
{
debug_enter();
}
}
-int email_module_send_message(email_module_h module_h, app_control_h msg)
+int email_module_send_message(email_module_h module_h, email_params_h msg)
{
debug_enter();
/* Check input arguments */
return 0;
}
-int email_module_send_result(email_module_t *module, app_control_h result)
+int email_module_send_result(email_module_t *module, email_params_h result)
{
debug_enter();
/* Check input arguments */
}
email_module_h email_module_create_child(email_module_t *module, email_module_type_e module_type,
- app_control_h params, email_module_listener_t *listener)
+ email_params_h params, email_module_listener_t *listener)
{
debug_enter();
/* Check input arguments */
void *user_data);
int email_module_launch_app(email_module_t *module, email_launch_app_type_e app_type,
- app_control_h params, email_launched_app_listener_t *listener)
+ email_params_h params, email_launched_app_listener_t *listener)
{
debug_enter();
/* Check state and input arguments */
/* Dummy loop to handle exceptions and cleanup */
while (1) {
- /* Compile-time warning is preferred over undefined behaviour in run-time. */
+ /* Compile-time warning is preferred over undefined behavior in run-time. */
int r;
- r = app_control_clone(&module->_launched_app, params);
- if (r != APP_CONTROL_ERROR_NONE) {
- debug_error("Failed to clone launch parameters: %d", r);
+ if (!email_params_to_app_control(params, &module->_launched_app)) {
+ debug_error("Failed to convert parameters.");
break;
}
default:
/* In other cases - forward reply to listener */
if (module->_app_listener.reply_cb) {
- module->_app_listener.reply_cb(module->_app_listener.cb_data, result, reply);
+ email_params_h params = NULL;
+ if (email_params_from_app_control(¶ms, reply)) {
+ module->_app_listener.reply_cb(module->_app_listener.cb_data, result, params);
+ email_params_free(¶ms);
+ } else {
+ debug_error("Reply convert error!");
+ }
module->_app_listener.reply_cb = NULL;
}
}
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "email-params.h"
+
+#include "email-debug.h"
+
+#define EMAIL_PARAMS_OPERATION "__EMAIL_PARAMS_OPERATION__"
+#define EMAIL_PARAMS_URI "__EMAIL_PARAMS_URI__"
+#define EMAIL_PARAMS_MIME "__EMAIL_PARAMS_MIME__"
+
+static inline bool _email_params_get_str_impl(email_params_h params, const char *key, const char **result, bool opt);
+static inline bool _email_params_get_int_impl(email_params_h params, const char *key, int *result, bool opt);
+
+static bool _app_control_extra_data_cb(app_control_h app_control, const char *key, void *user_data);
+static void _bundle_extra_data_cb(const char *key, const int type,
+ const bundle_keyval_t *kv, void *user_data);
+
+static inline bool _email_params_get_str_impl(email_params_h params, const char *key, const char **result, bool opt)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+ retvm_if(!result, false, "result is NULL");
+
+ char *str = NULL;
+
+ int ret = bundle_get_str(params, key, &str);
+ if (ret != BUNDLE_ERROR_NONE) {
+ if (ret == BUNDLE_ERROR_KEY_NOT_AVAILABLE) {
+ if (opt) {
+ return true;
+ }
+ debug_log("key(%s) not available.", key);
+ } else {
+ debug_error("bundle_get_str(%s) failed! ret = %d", key, ret);
+ }
+ return false;
+ }
+ retvm_if(!str, false, "buff is NULL");
+
+ *result = str;
+
+ return true;
+}
+
+static inline bool _email_params_get_int_impl(email_params_h params, const char *key, int *result, bool opt)
+{
+ const char *buff = NULL;
+
+ if (!_email_params_get_str_impl(params, key, &buff, opt)) {
+ return false;
+ }
+
+ if (buff) {
+ *result = atoi(buff);
+ }
+
+ return true;
+}
+
+EMAIL_API bool email_params_create(email_params_h *params)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(*params, false, "*params is not NULL");
+
+ bundle *bundle = bundle_create();
+ if (!bundle) {
+ debug_error("bundle_create() failed!");
+ return false;
+ }
+
+ *params = bundle;
+
+ return true;
+}
+
+EMAIL_API void email_params_free(email_params_h *params)
+{
+ retm_if(!params, "params is NULL");
+
+ if (*params) {
+ int ret = bundle_free(*params);
+ warn_if(ret != BUNDLE_ERROR_NONE, "bundle_free() failed! ret = %d", ret);
+
+ *params = NULL;
+ }
+}
+
+EMAIL_API bool email_params_clone(email_params_h *dst, email_params_h src)
+{
+ retvm_if(!dst, false, "dst is NULL");
+ retvm_if(*dst, false, "*dst is not NULL");
+ retvm_if(!src, false, "src is NULL");
+
+ *dst = bundle_dup(src);
+
+ return (*dst != NULL);
+}
+
+static bool _app_control_extra_data_cb(app_control_h app_control, const char *key, void *user_data)
+{
+ email_params_h *params = user_data;
+
+ bool is_array = false;
+
+ int ret = app_control_is_extra_data_array(app_control, key, &is_array);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_is_extra_data_array() failed! ret = %d", ret);
+ email_params_free(params);
+ return false;
+ }
+
+ bool result = false;
+
+ if (is_array) {
+ int i = 0;
+ char **array = NULL;
+ int array_length = 0;
+
+ ret = app_control_get_extra_data_array(app_control, key, &array, &array_length);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_get_extra_data_array() failed! ret = %d", ret);
+ } else {
+ result = email_params_add_str_array(*params, key, (const char **)array, array_length);
+ }
+
+ for (i = 0; i < array_length; ++ array_length) {
+ free(array[i]);
+ }
+ free(array);
+
+ } else {
+ char *str = NULL;
+
+ ret = app_control_get_extra_data(app_control, key, &str);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_get_extra_data() failed! ret = %d", ret);
+ } else {
+ result = email_params_add_str(*params, key, str);
+ }
+
+ free(str);
+ }
+
+ if (!result) {
+ email_params_free(params);
+ }
+
+ return result;
+}
+
+EMAIL_API bool email_params_from_app_control(email_params_h *params, app_control_h app_control)
+{
+ retvm_if(!app_control, false, "app_control is NULL");
+
+ char *operation = NULL;
+ char *uri = NULL;
+ char *mime = NULL;
+
+ bool result = false;
+
+ while (true) {
+ int ret = APP_CONTROL_ERROR_NONE;
+
+ ret = app_control_get_operation(app_control, &operation);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_get_operation() failed! ret = %d", ret);
+ break;
+ }
+ ret = app_control_get_uri(app_control, &uri);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_get_uri() failed! ret = %d", ret);
+ break;
+ }
+ ret = app_control_get_mime(app_control, &mime);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_get_mime() failed! ret = %d", ret);
+ break;
+ }
+
+ if (email_params_create(params) &&
+ (!operation || email_params_set_operation(*params, operation)) &&
+ (!uri || email_params_set_uri(*params, uri)) &&
+ (!mime || email_params_set_mime(*params, mime))) {
+
+ ret = app_control_foreach_extra_data(app_control, _app_control_extra_data_cb, params);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_foreach_extra_data() failed! ret = %d", ret);
+ break;
+ }
+
+ if (*params) {
+ result = true;
+ }
+ }
+
+ break;
+ }
+
+ if (!result) {
+ email_params_free(params);
+ }
+
+ free(operation);
+ free(uri);
+ free(mime);
+
+ return result;
+}
+
+static void _bundle_extra_data_cb(const char *key, const int type,
+ const bundle_keyval_t *kv, void *user_data)
+{
+ app_control_h *app_control = user_data;
+ if (!*app_control) {
+ return;
+ }
+
+ bool ok = false;
+
+ switch (type) {
+ case BUNDLE_TYPE_STR:
+ {
+ const char *val = NULL;
+ size_t size = 0;
+
+ int ret = bundle_keyval_get_basic_val((bundle_keyval_t *)kv, (void **)&val, &size);
+ if (ret != BUNDLE_ERROR_NONE) {
+ debug_error("bundle_keyval_get_basic_val() failed! ret = %d", ret);
+ break;
+ }
+
+ if (strcmp(key, EMAIL_PARAMS_OPERATION) == 0) {
+ ret = app_control_set_operation(*app_control, val);
+ } else if (strcmp(key, EMAIL_PARAMS_URI) == 0) {
+ ret = app_control_set_uri(*app_control, val);
+ } else if (strcmp(key, EMAIL_PARAMS_MIME) == 0) {
+ ret = app_control_set_mime(*app_control, val);
+ } else {
+ ret = app_control_add_extra_data(*app_control, key, val);
+ }
+
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_***() failed! ret = %d", ret);
+ break;
+ }
+
+ ok = true;
+ break;
+ }
+ case BUNDLE_TYPE_STR_ARRAY:
+ {
+ const char **array = NULL;
+ unsigned int array_len = 0;
+ size_t *array_element_size = 0;
+
+ if ((strcmp(key, EMAIL_PARAMS_OPERATION) == 0) ||
+ (strcmp(key, EMAIL_PARAMS_URI) == 0) ||
+ (strcmp(key, EMAIL_PARAMS_MIME) == 0)) {
+ debug_log("Key %s skipped.", key);
+ ok = true;
+ break;
+ }
+
+ int ret = bundle_keyval_get_array_val((bundle_keyval_t *)kv, (void ***)&array,
+ &array_len, &array_element_size);
+ if (ret != BUNDLE_ERROR_NONE) {
+ debug_error("bundle_keyval_get_array_val() failed! ret = %d", ret);
+ break;
+ }
+
+ ret = app_control_add_extra_data_array(*app_control, key, array, array_len);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_add_extra_data_array() failed! ret = %d", ret);
+ break;
+ }
+
+ ok = true;
+ break;
+ }
+ default:
+ debug_log("Key %s skipped.", key);
+ ok = true;
+ break;
+ }
+
+ if (!ok) {
+ app_control_destroy(*app_control);
+ *app_control = NULL;
+ }
+}
+
+EMAIL_API bool email_params_to_app_control(email_params_h params, app_control_h *app_control)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!app_control, false, "app_control is NULL");
+ retvm_if(*app_control, false, "*app_control is not NULL");
+
+ int ret = app_control_create(app_control);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_create() failed! ret = %d", ret);
+ return false;
+ }
+
+ bundle_foreach(params, _bundle_extra_data_cb, app_control);
+
+ if (!*app_control) {
+ return false;
+ }
+
+ return true;
+}
+
+EMAIL_API bool email_params_set_operation(email_params_h params, const char *operation)
+{
+ return email_params_add_str(params, EMAIL_PARAMS_OPERATION, operation);
+}
+
+EMAIL_API bool email_params_set_uri(email_params_h params, const char *uri)
+{
+ return email_params_add_str(params, EMAIL_PARAMS_URI, uri);
+}
+
+EMAIL_API bool email_params_set_mime(email_params_h params, const char *mime)
+{
+ return email_params_add_str(params, EMAIL_PARAMS_MIME, mime);
+}
+
+EMAIL_API bool email_params_get_operation(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_OPERATION, result, false);
+}
+
+EMAIL_API bool email_params_get_operation_opt(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_OPERATION, result, true);
+}
+
+EMAIL_API bool email_params_get_uri(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_URI, result, false);
+}
+
+EMAIL_API bool email_params_get_uri_opt(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_URI, result, true);
+}
+
+EMAIL_API bool email_params_get_mime(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_MIME, result, false);
+}
+
+EMAIL_API bool email_params_get_mime_opt(email_params_h params, const char **result)
+{
+ return _email_params_get_str_impl(params, EMAIL_PARAMS_MIME, result, true);
+}
+
+EMAIL_API bool email_params_add_int(email_params_h params, const char *key, int value)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+
+ char s_value[EMAIL_BUFF_SIZE_SML] = {'\0'};
+ snprintf(s_value, sizeof(s_value), "%d", value);
+
+ int ret = bundle_add_str(params, key, s_value);
+ retvm_if(ret != BUNDLE_ERROR_NONE, false, "bundle_add_str() failed! ret = %d", ret);
+
+ return true;
+}
+
+EMAIL_API bool email_params_add_str(email_params_h params, const char *key, const char *value)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+ retvm_if(!value, false, "value is NULL");
+
+ int ret = bundle_add_str(params, key, value);
+ retvm_if(ret != BUNDLE_ERROR_NONE, false, "bundle_add_str() failed! ret = %d", ret);
+
+ return true;
+}
+
+EMAIL_API bool email_params_add_str_array(email_params_h params, const char *key,
+ const char **value, int array_length)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+ retvm_if(!value, false, "value is NULL");
+ retvm_if(array_length > 0, false, "array_length: %d", array_length);
+
+ int ret = bundle_add_str_array(params, key, value, array_length);
+ retvm_if(ret != BUNDLE_ERROR_NONE, false, "bundle_add_str_array() failed! ret = %d", ret);
+
+ return true;
+}
+
+EMAIL_API bool email_params_get_is_array(email_params_h params, const char *key, bool *is_array)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+ retvm_if(!is_array, false, "is_array is NULL");
+
+ int type = bundle_get_type(params, key);
+
+ if (type == BUNDLE_TYPE_STR_ARRAY) {
+ *is_array = true;
+ return true;
+ }
+
+ if (type != BUNDLE_TYPE_STR) {
+ return false;
+ }
+
+ *is_array = false;
+
+ return true;
+}
+
+EMAIL_API bool email_params_get_int(email_params_h params, const char *key, int *result)
+{
+ return _email_params_get_int_impl(params, key, result, false);
+}
+
+EMAIL_API bool email_params_get_int_opt(email_params_h params, const char *key, int *result)
+{
+ return _email_params_get_int_impl(params, key, result, true);
+}
+
+EMAIL_API bool email_params_get_str(email_params_h params, const char *key, const char **result)
+{
+ return _email_params_get_str_impl(params, key, result, false);
+}
+
+EMAIL_API bool email_params_get_str_opt(email_params_h params, const char *key, const char **result)
+{
+ return _email_params_get_str_impl(params, key, result, true);
+}
+
+EMAIL_API bool email_params_get_str_array(email_params_h params, const char *key,
+ const char ***result, int *array_length)
+{
+ retvm_if(!params, false, "params is NULL");
+ retvm_if(!key, false, "key is NULL");
+ retvm_if(!result, false, "result is NULL");
+ retvm_if(!array_length, false, "array_length is NULL");
+
+ *result = bundle_get_str_array(params, key, array_length);
+ if (!*result) {
+ debug_error("bundle_get_str_array() failed!");
+ return false;
+ }
+
+ return true;
+}
#define EMAIL_STR_SIZE 10
#define EMAIL_DELIMETER_SIZE 2
-#define EMAIL_BUFF_SIZE_TIN 16
-#define EMAIL_BUFF_SIZE_SML 32
-#define EMAIL_BUFF_SIZE_MID 64
-#define EMAIL_BUFF_SIZE_BIG 128
-#define EMAIL_BUFF_SIZE_HUG 256
-#define EMAIL_BUFF_SIZE_4K 4096
-
EMAIL_API const char *locale = NULL;
static bool is_24_hr_format = false;
return s_info.need_restart_flag;
}
-EMAIL_API bool email_params_create(app_control_h *params)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(*params, false, "*params is not NULL");
-
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_create(params);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_create() failed! ret = %d", ret);
- *params = NULL;
- return false;
- }
-
- return true;
-}
-
-EMAIL_API void email_params_free(app_control_h *params)
-{
- retm_if(!params, "params is NULL");
-
- if (*params) {
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_destroy(*params);
- warn_if(ret != APP_CONTROL_ERROR_NONE, "app_control_destroy() failed! ret = %d", ret);
-
- *params = NULL;
- }
-}
-
-EMAIL_API bool email_params_operation_set(app_control_h params, const char *operation)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(!operation, false, "operation is NULL");
-
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_set_operation(params, operation);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, false, "app_control_set_operation failed: %d", ret);
-
- return true;
-}
-
-EMAIL_API bool email_params_uri_set(app_control_h params, const char *uri)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(!uri, false, "operation is NULL");
-
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_set_uri(params, uri);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, false, "app_control_set_uri() failed: %d", ret);
-
- return true;
-}
-
-EMAIL_API bool email_params_add_int(app_control_h params, const char *key, int value)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(!key, false, "key is NULL");
-
- char s_value[EMAIL_BUFF_SIZE_SML] = {'\0'};
- int ret = APP_CONTROL_ERROR_NONE;
-
- snprintf(s_value, sizeof(s_value), "%d", value);
-
- ret = app_control_add_extra_data(params, key, s_value);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, false, "app_control_add_extra_data() failed! ret = %d", ret);
-
- return true;
-}
-
-EMAIL_API bool email_params_add_str(app_control_h params, const char *key, const char *value)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(!key, false, "key is NULL");
- retvm_if(!value, false, "value is NULL");
-
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_add_extra_data(params, key, value);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, false, "app_control_add_extra_data() failed! ret = %d", ret);
-
- return true;
-}
-
-static bool _email_params_get_value_impl(app_control_h params, const char *key, char **result, bool opt)
-{
- retvm_if(!params, false, "params is NULL");
- retvm_if(!key, false, "key is NULL");
- retvm_if(!result, false, "result is NULL");
- retvm_if(*result, false, "*result is not NULL");
-
- int ret = APP_CONTROL_ERROR_NONE;
-
- ret = app_control_get_extra_data(params, key, result);
- if (ret != APP_CONTROL_ERROR_NONE) {
- if (opt && (ret == APP_CONTROL_ERROR_KEY_NOT_FOUND)) {
- *result = NULL;
- return true;
- }
- debug_error("app_control_get_extra_data() failed! ret = %d", ret);
- return false;
- }
- retvm_if(!result, false, "buff is NULL");
-
- return true;
-}
-
-static bool _email_params_get_int_impl(app_control_h params, const char *key, int *result, bool opt)
-{
- char *buff = NULL;
-
- if (!_email_params_get_value_impl(params, key, &buff, opt)) {
- return false;
- }
-
- if (buff) {
- *result = atoi(buff);
- free(buff);
- }
-
- return true;
-}
-
-EMAIL_API bool email_params_get_int(app_control_h params, const char *key, int *result)
-{
- return _email_params_get_int_impl(params, key, result, false);
-}
-
-EMAIL_API bool email_params_get_int_opt(app_control_h params, const char *key, int *result)
-{
- return _email_params_get_int_impl(params, key, result, true);
-}
-
-static bool _email_params_get_str_impl(app_control_h params, const char *key, char *result, int result_size, bool opt)
-{
- char *buff = NULL;
- int n = 0;
-
- if (!_email_params_get_value_impl(params, key, &buff, opt)) {
- return false;
- }
-
- if (buff) {
- n = snprintf(result, result_size, "%s", buff);
- free(buff);
- retvm_if(n >= result_size, false, "Result_size is too small. needed: %d bytes", n + 1);
- }
-
- return true;
-}
-
-EMAIL_API bool email_params_get_str(app_control_h params, const char *key, char *result, int result_size)
-{
- return _email_params_get_str_impl(params, key, result, result_size, false);
-}
-
-EMAIL_API bool email_params_get_str_opt(app_control_h params, const char *key, char *result, int result_size)
-{
- return _email_params_get_str_impl(params, key, result, result_size, true);
-}
-
EMAIL_API int email_preview_attachment_file(email_module_t *module, const char *path, email_launched_app_listener_t *listener)
{
retvm_if(!path, -1, "path is NULL");
retvm_if(!module, -1, "module is NULL");
int ret = 0;
- app_control_h params = NULL;
+ email_params_h params = NULL;
if (email_params_create(¶ms) &&
- email_params_operation_set(params, APP_CONTROL_OPERATION_VIEW) &&
- email_params_uri_set(params, path) &&
+ email_params_set_operation(params, APP_CONTROL_OPERATION_VIEW) &&
+ email_params_set_uri(params, path) &&
email_params_add_str(params,
EMAIL_PREVIEW_VIEW_MODE_PARAM_NAME,
EMAIL_PREVIEW_VIEW_MODE_PARAM_STR_VALUE) &&
return ret;
}
-
EMAIL_API email_ext_save_err_type_e email_prepare_temp_file_path(const int index, const char *tmp_root_dir, const char *src_file_path, char **dst_file_path)
{
debug_enter();
Evas_Object *win;
Evas_Object *conform;
- app_control_h launch_params;
+ app_control_h launch_request;
email_module_h module;
bool module_mgr_init_ok;
static void _app_timezone_change_cb(system_settings_key_e key, void *data);
static void _app_win_rotation_changed_cb(void *data, Evas_Object *obj, void *event_info);
-static void _app_module_result_cb(void *data, email_module_h module, app_control_h result);
+static void _app_module_result_cb(void *data, email_module_h module, email_params_h result);
static void _app_module_destroy_request_cb(void *data, email_module_h module);
#ifdef APP_USE_SIG
static void _app_finalize(app_data_t *ad);
-static email_module_type_e _app_get_module_type(app_control_h params);
-static bool _app_create_module(app_data_t *ad, app_control_h params);
+static email_module_type_e _app_get_module_type(app_data_t *ad);
+static bool _app_create_module(app_data_t *ad, email_params_h params);
static bool _app_recreate_module(app_data_t *ad);
bool _app_create_cb(void *user_data)
debug_enter();
app_data_t *ad = user_data;
- bool first_launch = (ad->launch_params == NULL);
+ bool first_launch = (ad->launch_request == NULL);
+ email_params_h params = NULL;
+
+ if (!email_params_from_app_control(¶ms, app_control)) {
+ debug_error("App control convert error!");
+ if (first_launch) {
+ debug_log("Shutting down...");
+ ui_app_exit();
+ }
+ return;
+ }
if (first_launch) {
- int r = app_control_clone(&ad->launch_params, app_control);
+ int r = app_control_clone(&ad->launch_request, app_control);
if (r != APP_CONTROL_ERROR_NONE) {
debug_error("app_control_clone(): failed (%d). Shutting down...", r);
+ email_params_free(¶ms);
ui_app_exit();
return;
}
- if (!_app_create_module(ad, app_control)) {
+ if (!_app_create_module(ad, params)) {
debug_error("_app_create_module(): failed (%d). Shutting down...", r);
+ email_params_free(¶ms);
ui_app_exit();
return;
}
} else if (!email_module_mgr_is_in_transiton()) {
debug_log("Sending message to the module...");
- email_module_send_message(ad->module, app_control);
+ email_module_send_message(ad->module, params);
} else {
debug_warning("Module manager in transition state. Ignoring message...");
}
+ email_params_free(¶ms);
+
debug_leave();
}
debug_leave();
}
-void _app_module_result_cb(void *data, email_module_h module, app_control_h result)
+void _app_module_result_cb(void *data, email_module_h module, email_params_h result)
{
debug_enter();
app_data_t *ad = data;
- int r = app_control_reply_to_launch_request(result, ad->launch_params, APP_CONTROL_RESULT_SUCCEEDED);
- if (r != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_reply_to_launch_request(): failed (%d).", r);
- return;
+ app_control_h app_control = NULL;
+
+ if (email_params_to_app_control(result, &app_control)) {
+ int r = app_control_reply_to_launch_request(app_control, ad->launch_request, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ if (r != APP_CONTROL_ERROR_NONE) {
+ debug_error("app_control_reply_to_launch_request(): failed (%d).", r);
+ return;
+ }
+ } else {
+ debug_error("Failed to convert result.");
}
debug_leave();
email_engine_finalize_force();
}
-static email_module_type_e _app_get_module_type(app_control_h params)
+static email_module_type_e _app_get_module_type(app_data_t *ad)
{
#ifdef SHARED_MODULES_FEATURE
return APP_MODULE_TYPE;
email_module_type_e module_type = EMAIL_MODULE_MAILBOX;
app_control_launch_mode_e launch_mode = APP_CONTROL_LAUNCH_MODE_SINGLE;
- int r = app_control_get_launch_mode(params, &launch_mode);
+ int r = app_control_get_launch_mode(ad->launch_request, &launch_mode);
if (r != APP_CONTROL_ERROR_NONE) {
debug_log("app_control_get_launch_mode(): failed (%d)", r);
return module_type;
if (launch_mode != APP_CONTROL_LAUNCH_MODE_SINGLE) {
char *operation = NULL;
- r = app_control_get_operation(params, &operation);
+ r = app_control_get_operation(ad->launch_request, &operation);
if (r != APP_CONTROL_ERROR_NONE) {
debug_error("app_control_get_operation(): failed (%d)", r);
return module_type;
return module_type;
}
-static bool _app_create_module(app_data_t *ad, app_control_h params)
+static bool _app_create_module(app_data_t *ad, email_params_h params)
{
debug_enter();
retvm_if(ad->module, false, "Root module already created!");
listener.destroy_request_cb = _app_module_destroy_request_cb;
email_module_h module = email_module_mgr_create_root_module(
- _app_get_module_type(params), params, &listener);
+ _app_get_module_type(ad), params, &listener);
if (!module) {
debug_error("Module creation failed.");
return false;
retvm_if(!ad->module, false, "Root module is not created!");
bool result = true;
- app_control_h params = NULL;
+ email_params_h params = NULL;
if (email_params_create(¶ms)) {
RETURN_IF_FAIL(data != NULL);
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, ug_data->b_editmode) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ug_data->folder_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, ug_data->move_status) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 1) &&
+ (!ug_data->moved_mailbox_name ||
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, ug_data->moved_mailbox_name))) {
+
+ email_module_send_result(ug_data->base.module, params);
}
- char mailbox_edit_mode[30] = { 0, };
- snprintf(mailbox_edit_mode, sizeof(mailbox_edit_mode), "%d", ug_data->b_editmode);
- char is_mail_move_ug[30] = {0,};
- snprintf(is_mail_move_ug, sizeof(is_mail_move_ug), "%d", 1);
- char move_status[30] = {0,};
- snprintf(move_status, sizeof(move_status), "%d", ug_data->move_status);
- char mailbox_id[30] = {0,};
- snprintf(mailbox_id, sizeof(mailbox_id), "%d", ug_data->folder_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, mailbox_edit_mode);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, move_status);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, is_mail_move_ug);
- if (ug_data->moved_mailbox_name)
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, ug_data->moved_mailbox_name);
-
- email_module_send_result(ug_data->base.module, service);
-
- app_control_destroy(service);
+
+ email_params_free(¶ms);
}
static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
_popup_renamefolder_cb(ug_data, obj, event_info);
} else if (ACC_FOLDER_NONE == ug_data->folder_mode) {
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
- }
-
- char id[NUM_STR_LEN] = { 0 };
- snprintf(id, sizeof(id), "%d", ug_data->account_id);
-
- char is_mail_move_ug[NUM_STR_LEN] = { 0 };
- snprintf(is_mail_move_ug, sizeof(is_mail_move_ug), "%d", 0);
-
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, is_mail_move_ug);
+ const char *account_type = EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT;
+ int mailbox_id = tree_item_data->mailbox_id;
+ int mailbox_type = tree_item_data->mailbox_type;
if (tree_item_data->b_scheduled_outbox > 0) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SCHEDULED_OUTBOX);
+ account_type = EMAIL_BUNDLE_VAL_SCHEDULED_OUTBOX;
debug_log("scheduled outbox is selected");
- } else {
-
- int i_mailbox_id = tree_item_data->mailbox_id;
- int mb_type = tree_item_data->mailbox_type;
- if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
- mb_type = EMAIL_MAILBOX_TYPE_INBOX;
- i_mailbox_id = 0;
- } else if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_FLAGGED) {
- mb_type = tree_item_data->mailbox_type;
- i_mailbox_id = 0;
- }
+ } else if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_FLAGGED) {
+ account_type = EMAIL_BUNDLE_VAL_ALL_ACCOUNT;
+ mailbox_id = 0;
+ } else if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
+ account_type = EMAIL_BUNDLE_VAL_PRIORITY_SENDER;
+ mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
+ mailbox_id = 0;
+ }
- char mailbox_id[NUM_STR_LEN] = { 0 };
- snprintf(mailbox_id, sizeof(mailbox_id), "%d", i_mailbox_id);
+ email_params_h params = NULL;
- char mailbox_type[NUM_STR_LEN] = { 0 };
- snprintf(mailbox_type, sizeof(mailbox_type), "%d", mb_type);
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 0) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, account_type) &&
+ ((tree_item_data->b_scheduled_outbox > 0) || (
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, mailbox_type)))) {
- if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_FLAGGED) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
- } else if (tree_item_data->mailbox_type == EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_PRIORITY_SENDER);
- } else {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT);
- }
-
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, mailbox_type);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, is_mail_move_ug);
+ email_module_send_result(ug_data->base.module, params);
}
- email_module_send_result(ug_data->base.module, service);
-
- app_control_destroy(service);
+ email_params_free(¶ms);
}
debug_leave();
}
}
elm_genlist_item_update(item);
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
+ const char *account_type = EMAIL_BUNDLE_VAL_ALL_ACCOUNT;
+ if (mailbox_type == EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
+ mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
+ account_type = EMAIL_BUNDLE_VAL_PRIORITY_SENDER;
}
- debug_log("mailbox_type: [%d]", mailbox_type);
-
- char id[NUM_STR_LEN] = {0,};
- snprintf(id, sizeof(id), "%d", 0);
- char ch_boxtype[NUM_STR_LEN] = { 0 };
+ email_params_h params = NULL;
- if (mailbox_type != EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
- snprintf(ch_boxtype, sizeof(ch_boxtype), "%d", mailbox_type);
- } else {
- snprintf(ch_boxtype, sizeof(ch_boxtype), "%d", EMAIL_MAILBOX_TYPE_INBOX);
- }
-
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, ch_boxtype);
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, 0) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 0) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, mailbox_type) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, account_type)) {
- if (mailbox_type == EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_PRIORITY_SENDER);
+ email_module_send_result(ug_data->base.module, params);
}
- char is_mail_move_ug[NUM_STR_LEN] = {0,};
- snprintf(is_mail_move_ug, sizeof(is_mail_move_ug), "%d", 0);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, is_mail_move_ug);
-
- email_module_send_result(ug_data->base.module, service);
+ email_params_free(¶ms);
ug_data->block_item_click = 1;
-
- app_control_destroy(service);
}
static void _delete_folder_ok_cb(void *data, Evas_Object *obj, void *event_info)
Account_Item_Data *item_data = (Account_Item_Data *)data;
EmailAccountUGD *ug_data = item_data->ug_data;
- int i_mailbox_id = 0;
+ int mailbox_id = 0;
retm_if(!ug_data, "ug_data is NULL");
email_mailbox_type_e mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
box_type = ACC_MAILBOX_TYPE_INBOX;
ug_data->account_id = item_data->account_id;
- i_mailbox_id = item_data->mailbox_id;
+ mailbox_id = item_data->mailbox_id;
break;
case ACCOUNT_LIST_SINGLE_DRAFTS:
mailbox_type = EMAIL_MAILBOX_TYPE_DRAFT;
box_type = ACC_MAILBOX_TYPE_DRAFT;
ug_data->account_id = item_data->account_id;
- i_mailbox_id = item_data->mailbox_id;
+ mailbox_id = item_data->mailbox_id;
break;
case ACCOUNT_LIST_SINGLE_OUTBOX:
mailbox_type = EMAIL_MAILBOX_TYPE_OUTBOX;
box_type = ACC_MAILBOX_TYPE_OUTBOX;
ug_data->account_id = item_data->account_id;
- i_mailbox_id = item_data->mailbox_id;
+ mailbox_id = item_data->mailbox_id;
break;
case ACCOUNT_LIST_SINGLE_SENT:
mailbox_type = EMAIL_MAILBOX_TYPE_SENTBOX;
box_type = ACC_MAILBOX_TYPE_SENTBOX;
ug_data->account_id = item_data->account_id;
- i_mailbox_id = item_data->mailbox_id;
+ mailbox_id = item_data->mailbox_id;
break;
case ACCOUNT_LIST_SINGLE_SHOW_ALL_FOLDERS:
break;
}
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
- }
debug_log("account_id: [%d], box_type: [%d], mailbox_type: [%d]", ug_data->account_id, box_type, mailbox_type);
- char id[NUM_STR_LEN] = {0,};
- snprintf(id, sizeof(id), "%d", ug_data->account_id);
-
- char ch_boxtype[NUM_STR_LEN] = {0,};
- snprintf(ch_boxtype, sizeof(ch_boxtype), "%d", mailbox_type);
- if (ug_data->account_id == 0) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
- } else {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT);
- }
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, ch_boxtype);
-
- char mailbox_id[NUM_STR_LEN] = {0,};
- snprintf(mailbox_id, sizeof(mailbox_id), "%d", i_mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
-
+ const char *account_type = EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT;
if (box_type == ACC_MAILBOX_TYPE_PRIORITY_INBOX) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_PRIORITY_SENDER);
+ account_type = EMAIL_BUNDLE_VAL_PRIORITY_SENDER;
+ } else if (ug_data->account_id == 0) {
+ account_type = EMAIL_BUNDLE_VAL_ALL_ACCOUNT;
}
- char is_mail_move_ug[NUM_STR_LEN] = {0,};
- snprintf(is_mail_move_ug, sizeof(is_mail_move_ug), "%d", 0);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, is_mail_move_ug);
+ email_params_h params = NULL;
- email_module_send_result(ug_data->base.module, service);
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, account_type) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, mailbox_type) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 0)) {
- ug_data->block_item_click = 1;
+ email_module_send_result(ug_data->base.module, params);
+ }
- app_control_destroy(service);
+ email_params_free(¶ms);
+ ug_data->block_item_click = 1;
}
static void _check_account_list_zoom_state(EmailAccountUGD *ug_data)
#define EMAIL_GENLIST_MAX_BLOCK_ITEMS_COUNT 36
-static int _account_module_create(email_module_t *self, app_control_h params);
+static int _account_module_create(email_module_t *self, email_params_h params);
static int _account_create(email_view_t *self);
static void _account_destroy(email_view_t *self);
static void _account_more_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *event_info);
static void _account_resize_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _account_settings_cb(void *data, Evas_Object *obj, void *event_info);
-static email_module_h account_setting_module_create(void *data, email_module_type_e module_type, app_control_h service);
+static email_module_h account_setting_module_create(void *data, email_module_type_e module_type, email_params_h params);
static void _account_setting_module_destroy(void *priv, email_module_h module);
static void _folder_delete_cb(void *data, Evas_Object *obj, void *event_info);
static void _folder_rename_cb(void *data, Evas_Object *obj, void *event_info);
static int _get_accounts_data(int *account_count, email_account_t **account_list);
-static int _account_module_create(email_module_t *self, app_control_h params)
+static int _account_module_create(email_module_t *self, email_params_h params)
{
debug_enter();
EmailAccountModule *md = (EmailAccountModule *)self;
EmailAccountUGD *ug_data = &md->view;
- char *argv[5] = { 0 };
email_account_t *account_list = NULL;
int ret = APP_CONTROL_ERROR_NONE;
ug_data->isRotate = false;
}
- /* parsing bundle data */
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &(argv[0]));
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_MAILBOX, &(argv[1]));
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &(argv[2]));
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_ACCOUNT_UG, &(argv[3]));
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, &(argv[4]));
+ /* parsing params data */
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &ug_data->account_id);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAILBOX, &ug_data->folder_id);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &is_move_mail_ug);
- if (argv[0]) {
- ug_data->account_id = atoi(argv[0]);
- g_free(argv[0]);
+ if (is_move_mail_ug) {
+ ug_data->folder_view_mode = ACC_FOLDER_MOVE_MAIL_VIEW_MODE;
}
- if (argv[1]) {
- ug_data->folder_id = atoi(argv[1]);
- g_free(argv[1]);
- }
-
- if (argv[2]) {
- is_move_mail_ug = atoi(argv[2]);
- g_free(argv[2]);
-
- if (is_move_mail_ug) {
- ug_data->folder_view_mode = ACC_FOLDER_MOVE_MAIL_VIEW_MODE;
- }
- }
-
- if(_get_accounts_data(&ug_data->account_count, &ug_data->account_list)) {
+ if (_get_accounts_data(&ug_data->account_count, &ug_data->account_list)) {
debug_critical("get accounts data failed");
return -1;
}
- if (argv[3]) {
- is_account_list_ug = atoi(argv[3]);
- g_free(argv[3]);
-
- if (is_account_list_ug) {
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_ACCOUNT_UG, &is_account_list_ug);
+ if (is_account_list_ug) {
- if (argv[4]) {
+ const char *account_type = NULL;
+ email_params_get_str_opt(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, &account_type);
+ if (account_type) {
- debug_log("mailbox_mode:%s", argv[4]);
- if (g_strcmp0(argv[4], EMAIL_BUNDLE_VAL_PRIORITY_SENDER) == 0) {
- ug_data->mailbox_mode = ACC_MAILBOX_TYPE_PRIORITY_INBOX;
- ug_data->mailbox_type = EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS;
- if (ug_data->account_count == 1) {
- ug_data->folder_view_mode = ACC_FOLDER_SINGLE_VIEW_MODE;
- } else {
- ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
- }
- } else if (g_strcmp0(argv[4], EMAIL_BUNDLE_VAL_FILTER_INBOX) == 0) {
- ug_data->mailbox_mode = ACC_MAILBOX_TYPE_FLAGGED;
- ug_data->mailbox_type = EMAIL_MAILBOX_TYPE_FLAGGED;
- if (ug_data->account_count == 1) {
- ug_data->folder_view_mode = ACC_FOLDER_SINGLE_VIEW_MODE;
- } else {
- ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
- }
- } else if (g_strcmp0(argv[4], EMAIL_BUNDLE_VAL_ALL_ACCOUNT) == 0 || ug_data->account_count > 1) {
- ug_data->mailbox_mode = ACC_MAILBOX_TYPE_ALL_ACCOUNT;
- ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
+ debug_log("mailbox_mode:%s", account_type);
+ if (g_strcmp0(account_type, EMAIL_BUNDLE_VAL_PRIORITY_SENDER) == 0) {
+ ug_data->mailbox_mode = ACC_MAILBOX_TYPE_PRIORITY_INBOX;
+ ug_data->mailbox_type = EMAIL_MAILBOX_TYPE_PRIORITY_SENDERS;
+ if (ug_data->account_count == 1) {
+ ug_data->folder_view_mode = ACC_FOLDER_SINGLE_VIEW_MODE;
} else {
- ug_data->mailbox_mode = ACC_MAILBOX_TYPE_SINGLE_ACCOUNT;
+ ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
+ }
+ } else if (g_strcmp0(account_type, EMAIL_BUNDLE_VAL_FILTER_INBOX) == 0) {
+ ug_data->mailbox_mode = ACC_MAILBOX_TYPE_FLAGGED;
+ ug_data->mailbox_type = EMAIL_MAILBOX_TYPE_FLAGGED;
+ if (ug_data->account_count == 1) {
ug_data->folder_view_mode = ACC_FOLDER_SINGLE_VIEW_MODE;
+ } else {
+ ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
}
- g_free(argv[4]);
- } else {
+ } else if (g_strcmp0(account_type, EMAIL_BUNDLE_VAL_ALL_ACCOUNT) == 0 || ug_data->account_count > 1) {
ug_data->mailbox_mode = ACC_MAILBOX_TYPE_ALL_ACCOUNT;
ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
+ } else {
+ ug_data->mailbox_mode = ACC_MAILBOX_TYPE_SINGLE_ACCOUNT;
+ ug_data->folder_view_mode = ACC_FOLDER_SINGLE_VIEW_MODE;
}
+ } else {
+ ug_data->mailbox_mode = ACC_MAILBOX_TYPE_ALL_ACCOUNT;
+ ug_data->folder_view_mode = ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE;
}
}
+
debug_log("account_id [%d], folder_id [%d], is_move_mail_ug [%d], is_account_list_ug [%d]", ug_data->account_id, ug_data->folder_id, is_move_mail_ug, is_account_list_ug);
debug_log("folder_view_mode [%d]", ug_data->folder_view_mode);
/* contents */
if (ug_data->folder_view_mode == ACC_FOLDER_MOVE_MAIL_VIEW_MODE) {
- char *move_argv[5] = { 0 };
- int selected_mail_list_legth = 0;
- char **selected_mail_list = NULL;
-
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, &(move_argv[0]));
- if (move_argv[0]) {
- ug_data->move_mode = atoi(move_argv[0]);
- g_free(move_argv[0]);
- }
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, &(move_argv[2]));
- if (move_argv[2]) {
- ug_data->b_editmode = atoi(move_argv[2]);
- g_free(move_argv[2]);
- }
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, &(move_argv[1]));
- if (move_argv[1]) {
- ug_data->move_src_mailbox_id = atoi(move_argv[1]);
- g_free(move_argv[1]);
- }
- ret = app_control_get_extra_data_array(params, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS, &selected_mail_list, &(selected_mail_list_legth));
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data_array(item_id) failed! ret:[%d]", ret);
+ const char **selected_mail_list = NULL;
+ int selected_mail_list_len = 0;
+
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, &ug_data->move_mode);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, &ug_data->b_editmode);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, &ug_data->move_src_mailbox_id);
+
+ email_params_get_str_array(params, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS, &selected_mail_list, &selected_mail_list_len);
+
int i;
- for (i = 0; i < selected_mail_list_legth; i++) {
+ for (i = 0; i < selected_mail_list_len; i++) {
debug_log("mail list to move %d", atoi(selected_mail_list[i]));
ug_data->selected_mail_list_to_move = g_list_prepend(ug_data->selected_mail_list_to_move,
GINT_TO_POINTER(atoi(selected_mail_list[i])));
}
- for (i = 0; i < selected_mail_list_legth; i++) {
- g_free(selected_mail_list[i]);
- }
- g_free(selected_mail_list);
-
} else if (ug_data->folder_view_mode == ACC_FOLDER_ACCOUNT_LIST_VIEW_MODE ||
ug_data->folder_view_mode == ACC_FOLDER_SINGLE_VIEW_MODE) {
- char *mailbox_argv[3] = { 0 };
-
if (ug_data->mailbox_type == 0) {
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &(mailbox_argv[0]));
- if (mailbox_argv[0]) {
- ug_data->mailbox_type = atoi(mailbox_argv[0]);
- g_free(mailbox_argv[0]);
- }
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &ug_data->mailbox_type);
}
if (ug_data->mailbox_id == 0) {
- app_control_get_extra_data(params, EMAIL_BUNDLE_KEY_MAILBOX, &(mailbox_argv[1]));
- if (mailbox_argv[1]) {
- ug_data->mailbox_id = atoi(mailbox_argv[1]);
- g_free(mailbox_argv[1]);
- }
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAILBOX, &ug_data->mailbox_id);
}
if (ug_data->folder_view_mode == ACC_FOLDER_SINGLE_VIEW_MODE) {
}
}
-email_module_h account_setting_module_create(void *data, email_module_type_e module_type, app_control_h service)
+email_module_h account_setting_module_create(void *data, email_module_type_e module_type, email_params_h params)
{
debug_enter();
listener.cb_data = ug_data;
listener.destroy_request_cb = _account_setting_module_destroy;
- return email_module_create_child(ug_data->base.module, module_type, service, &listener);
+ return email_module_create_child(ug_data->base.module, module_type, params, &listener);
}
static void _account_settings_cb(void *data, Evas_Object *obj, void *event_info)
retm_if(!data, "data is NULL");
EmailAccountUGD *ug_data = (EmailAccountUGD *) data;
- app_control_h service;
+ email_params_h params = NULL;
DELETE_EVAS_OBJECT(ug_data->more_ctxpopup);
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SETTING)) {
+
+ ug_data->setting = account_setting_module_create(ug_data, EMAIL_MODULE_SETTING, params);
}
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SETTING);
- ug_data->setting = account_setting_module_create(ug_data, EMAIL_MODULE_SETTING, service);
- app_control_destroy(service);
+ email_params_free(¶ms);
}
static Elm_Object_Item *_add_ctx_menu_item(EmailAccountUGD *ug_data, const char *str, Evas_Object *icon, Evas_Smart_Cb cb)
/**
* @brief Parse composer run type
* @param[in] ugd» Email composer data
- * @param[in] svc_handle App control handler
+ * @param[in] params Email params handle
* @return Composer error type
*/
-COMPOSER_ERROR_TYPE_E composer_initial_data_parse_composer_run_type(EmailComposerUGD *ugd, app_control_h svc_handle);
+COMPOSER_ERROR_TYPE_E composer_initial_data_parse_composer_run_type(EmailComposerUGD *ugd, email_params_h params);
/**
* @brief Pre parse arguments
* @param[in] ugd» Email composer data
- * @param[in] svc_handle App control handler
+ * @param[in] params Email params handle
* @return Composer error type
*/
-COMPOSER_ERROR_TYPE_E composer_initial_data_pre_parse_arguments(EmailComposerUGD *ugd, app_control_h data);
+COMPOSER_ERROR_TYPE_E composer_initial_data_pre_parse_arguments(EmailComposerUGD *ugd, email_params_h params);
/**
* @brief Post parse arguments
* @param[in] ugd» Email composer data
- * @param[in] svc_handle App control handler
+ * @param[in] params Email params handle
* @return Composer error type
*/
-COMPOSER_ERROR_TYPE_E composer_initial_data_post_parse_arguments(EmailComposerUGD *ugd, app_control_h data);
+COMPOSER_ERROR_TYPE_E composer_initial_data_post_parse_arguments(EmailComposerUGD *ugd, email_params_h params);
/**
* @brief Composer make initial content
/*
* Related to composer data
- * App control handle for composer
+ * Launch params handle for composer
*/
- app_control_h ec_app;
+ email_params_h launch_params;
/* Previous setting values. These should be restored when exiting out of composer. */
double scroll_friction; // friction value(scrolling speed) for scroller.
static char *_initial_data_body_get_original_message_bar_tags(EmailComposerUGD *ugd);
static char *_initial_data_body_get_parent_content(EmailComposerUGD *ugd);
-static void _initial_data_parse_service_data_by_internal(app_control_h svc_handle, char **argv, int run_type);
-static void _initial_data_parse_service_data_by_ug(app_control_h svc_handle, char **argv);
-static void _initial_data_parse_service_data_by_appcontrol(EmailComposerUGD *ugd,
- app_control_h svc_handle, char **argv, const char *operation);
+static void _initial_data_parse_params_by_internal(email_params_h params, const char **argv, int run_type);
+static void _initial_data_parse_params_by_ug(email_params_h params, const char **argv);
+static void _initial_data_parse_params_by_appcontrol(EmailComposerUGD *ugd,
+ email_params_h params, const char **argv, const char *operation);
static char *_initial_data_parse_mailto_recipients(char *recipients_list);
-static void _initial_data_parse_mailto_uri(EmailComposerUGD *ugd, char *mailto_uri);
-static void _initial_data_parse_contacts_sharing(EmailComposerUGD *ugd, app_control_h svc_handle, const char *operation);
+static void _initial_data_parse_mailto_uri(EmailComposerUGD *ugd, const char *mailto_uri);
+static void _initial_data_parse_contacts_sharing(EmailComposerUGD *ugd, email_params_h params, const char *operation);
static void _initial_data_parse_attachments(EmailComposerUGD *ugd, Eina_List *attachment_uri_list);
-static COMPOSER_ERROR_TYPE_E _initial_data_process_service_data_by_internal(EmailComposerUGD *ugd, char **argv);
-static COMPOSER_ERROR_TYPE_E _initial_data_process_service_data_by_external(EmailComposerUGD *ugd, char **argv);
+static COMPOSER_ERROR_TYPE_E _initial_data_process_params_by_internal(EmailComposerUGD *ugd, const char **argv);
+static COMPOSER_ERROR_TYPE_E _initial_data_process_params_by_external(EmailComposerUGD *ugd, const char **argv);
static void _initial_data_set_mail_to_recipients(EmailComposerUGD *ugd);
static void _initial_data_set_mail_cc_recipients(EmailComposerUGD *ugd);
static void _recp_preppend_string(gchar **dst, gchar *src);
static void _recp_append_string(gchar **dst, gchar *src);
-static void _recp_append_extra_data_array(gchar **dst, app_control_h app_control, const char *data_key);
+static void _recp_append_extra_data_array(gchar **dst, email_params_h params, const char *data_key);
static email_string_t EMAIL_COMPOSER_STRING_NULL = { NULL, NULL };
static email_string_t EMAIL_COMPOSER_STRING_BUTTON_CANCEL = { PACKAGE, "IDS_EMAIL_BUTTON_CANCEL" };
return tmp_text;
}
-static void _initial_data_parse_service_data_by_internal(app_control_h svc_handle, char **argv, int run_type)
+static void _initial_data_parse_params_by_internal(email_params_h params, const char **argv, int run_type)
{
debug_enter();
- retm_if(!svc_handle, "svc_handle is NULL!");
+ retm_if(!params, "params is NULL!");
retm_if(!argv, "argv is NULL!");
- int ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_ACCOUNT_ID, (char **)&argv[0]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_ACCOUNT_ID, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &argv[0]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_ACCOUNT_ID);
debug_secure("account_id: (%s)", argv[0]);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_MAIL_ID, (char **)&argv[1]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_MAIL_ID, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_MAIL_ID, &argv[1]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_MAIL_ID);
debug_log("mail_id: (%s)", argv[1]);
if ((run_type == RUN_EML_FORWARD) || (run_type == RUN_EML_REPLY) || (run_type == RUN_EML_REPLY_ALL)) {
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_MYFILE_PATH, (char **)&argv[3]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_MYFILE_PATH, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_MYFILE_PATH, &argv[3]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_MYFILE_PATH);
debug_secure("eml_file_path: (%s)", argv[3]);
}
debug_leave();
}
-static void _initial_data_parse_service_data_by_ug(app_control_h svc_handle, char **argv)
+static void _initial_data_parse_params_by_ug(email_params_h params, const char **argv)
{
debug_enter();
- retm_if(!svc_handle, "Invalid parameter: svc_handle is NULL!");
+ retm_if(!params, "Invalid parameter: params is NULL!");
retm_if(!argv, "Invalid parameter: argv is NULL!");
- int ret = APP_CONTROL_ERROR_NONE;
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_TO, &argv[0]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_TO);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_TO, (char **)&argv[0]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_TO, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_CC, &argv[1]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_CC);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_CC, (char **)&argv[1]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_CC, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_BCC, &argv[2]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_BCC);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_BCC, (char **)&argv[2]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_BCC, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_SUBJECT, &argv[3]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_SUBJECT);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_SUBJECT, (char **)&argv[3]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_SUBJECT, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_BODY, &argv[4]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_BODY);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_BODY, (char **)&argv[4]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_BODY, ret);
-
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_ATTACHMENT, (char **)&argv[5]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_ATTACHMENT, ret);
+ debug_warning_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_ATTACHMENT, &argv[5]),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_ATTACHMENT);
debug_secure("to: (%s)", argv[0]);
debug_secure("cc: (%s)", argv[1]);
debug_leave();
}
-static void _initial_data_parse_service_data_by_appcontrol(EmailComposerUGD *ugd,
- app_control_h svc_handle, char **argv, const char *operation)
+static void _initial_data_parse_params_by_appcontrol(EmailComposerUGD *ugd,
+ email_params_h params, const char **argv, const char *operation)
{
debug_enter();
- retm_if(!svc_handle, "Invalid parameter: svc_handle is NULL!");
+ retm_if(!params, "Invalid parameter: params is NULL!");
retm_if(!argv, "Invalid parameter: argv is NULL!");
retm_if(!operation, "Invalid parameter: operation is NULL!");
- int ret = APP_CONTROL_ERROR_NONE;
-
if (!g_strcmp0(operation, APP_CONTROL_OPERATION_COMPOSE)) {
- _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_to, svc_handle, APP_CONTROL_DATA_TO);
+ _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_to, params, APP_CONTROL_DATA_TO);
- _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_cc, svc_handle, APP_CONTROL_DATA_CC);
+ _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_cc, params, APP_CONTROL_DATA_CC);
- _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_bcc, svc_handle, APP_CONTROL_DATA_BCC);
+ _recp_append_extra_data_array(&ugd->new_mail_info->mail_data->full_address_bcc, params, APP_CONTROL_DATA_BCC);
}
if (!g_strcmp0(operation, APP_CONTROL_OPERATION_COMPOSE) ||
!g_strcmp0(operation, APP_CONTROL_OPERATION_SHARE_TEXT)) {
- ret = app_control_get_extra_data(svc_handle, APP_CONTROL_DATA_SUBJECT, (char **)&argv[3]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", APP_CONTROL_DATA_SUBJECT, ret);
+ debug_warning_if(!email_params_get_str(params, APP_CONTROL_DATA_SUBJECT, &argv[3]),
+ "email_params_get_str(%s) failed!", APP_CONTROL_DATA_SUBJECT);
- ret = app_control_get_extra_data(svc_handle, APP_CONTROL_DATA_TEXT, (char **)&argv[4]);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", APP_CONTROL_DATA_TEXT, ret);
+ debug_warning_if(!email_params_get_str(params, APP_CONTROL_DATA_TEXT, &argv[4]),
+ "email_params_get_str(%s) failed!", APP_CONTROL_DATA_TEXT);
debug_secure("subject: (%s)", argv[3]);
debug_secure("body: (%s)", argv[4]);
return new_recipients_list;
}
-static void _initial_data_parse_mailto_uri(EmailComposerUGD *ugd, char *mailto_uri)
+static void _initial_data_parse_mailto_uri(EmailComposerUGD *ugd, const char *mailto_uri)
{
debug_enter();
debug_leave();
}
-static void _initial_data_parse_contacts_sharing(EmailComposerUGD *ugd, app_control_h svc_handle, const char *operation)
+static void _initial_data_parse_contacts_sharing(EmailComposerUGD *ugd, email_params_h params, const char *operation)
{
debug_enter();
if (!g_strcmp0(operation, APP_CONTROL_OPERATION_SHARE)) {
- char data_type[BUF_LEN_T] = "person";
+ const char *data_type = "person";
- if (email_params_get_str_opt(svc_handle, APP_CONTROL_DATA_TYPE, data_type, BUF_LEN_T) &&
- email_params_get_int(svc_handle, APP_CONTROL_DATA_ID, &ugd->shared_contact_id)) {
+ if (email_params_get_str_opt(params, APP_CONTROL_DATA_TYPE, &data_type) &&
+ email_params_get_int(params, APP_CONTROL_DATA_ID, &ugd->shared_contact_id)) {
ugd->shared_contacts_count = 1;
}
} else {
+ const char **array = NULL;
int i = 0;
- char **array = NULL;
- int ret = app_control_get_extra_data_array(svc_handle, APP_CONTROL_DATA_ID, &array, &ugd->shared_contacts_count);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data_array(%s) failed! ret:[%d]", APP_CONTROL_DATA_ID, ret);
+ retm_if(!email_params_get_str_array(params, APP_CONTROL_DATA_ID, &array, &ugd->shared_contacts_count),
+ "email_params_get_str_array(%s) failed!", APP_CONTROL_DATA_ID);
if (ugd->shared_contacts_count > 0) {
ugd->shared_contact_id_list = calloc(ugd->shared_contacts_count, sizeof(int));
- debug_error_if(!ugd->shared_contact_id_list, "calloc() failed");
+ retm_if(!ugd->shared_contact_id_list, "calloc() failed");
for (i = 0; i < ugd->shared_contacts_count; ++i) {
- if (ugd->shared_contact_id_list) {
- ugd->shared_contact_id_list[i] = atoi(array[i]);
- }
- free(array[i]);
+ ugd->shared_contact_id_list[i] = atoi(array[i]);
}
} else {
debug_error("Array is empty");
}
-
- free(array);
}
ugd->is_sharing_contacts = (ugd->shared_contacts_count > 0) ? EINA_TRUE : EINA_FALSE;
debug_leave();
}
-static COMPOSER_ERROR_TYPE_E _initial_data_process_service_data_by_internal(EmailComposerUGD *ugd, char **argv)
+static COMPOSER_ERROR_TYPE_E _initial_data_process_params_by_internal(EmailComposerUGD *ugd, const char **argv)
{
debug_enter();
return COMPOSER_ERROR_NONE;
}
-static COMPOSER_ERROR_TYPE_E _initial_data_process_service_data_by_external(EmailComposerUGD *ugd, char **argv)
+static COMPOSER_ERROR_TYPE_E _initial_data_process_params_by_external(EmailComposerUGD *ugd, const char **argv)
{
debug_enter();
email_profiling_end(composer_initial_data_set_mail_info);
}
-COMPOSER_ERROR_TYPE_E composer_initial_data_parse_composer_run_type(EmailComposerUGD *ugd, app_control_h svc_handle)
+COMPOSER_ERROR_TYPE_E composer_initial_data_parse_composer_run_type(EmailComposerUGD *ugd, email_params_h params)
{
email_profiling_begin(composer_initial_data_parse_composer_run_type);
debug_enter();
- int ret = 0;
- char *operation = NULL;
- char *run_type = NULL;
+ const char *operation = NULL;
ugd->composer_type = RUN_TYPE_UNKNOWN;
- ret = app_control_get_operation(svc_handle, &operation);
- debug_warning_if((ret != APP_CONTROL_ERROR_NONE) && (ret != APP_CONTROL_ERROR_KEY_NOT_FOUND), "app_control_get_operation() failed! ret:[%d]", ret);
+ debug_warning_if(!email_params_get_operation_opt(params, &operation),
+ "email_params_get_operation_opt() failed!");
if (operation && (g_strcmp0(operation, APP_CONTROL_OPERATION_DEFAULT) != 0)) {
debug_secure("operation type: (%s)", operation);
ugd->composer_type = RUN_COMPOSER_EXTERNAL;
} else {
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_RUN_TYPE, &run_type);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! ret:[%d]", EMAIL_BUNDLE_KEY_RUN_TYPE, ret);
-
- if (run_type) {
- ugd->composer_type = atoi(run_type);
- } else {
- ugd->composer_type = RUN_COMPOSER_NEW;
- }
+ debug_warning_if(!email_params_get_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, &ugd->composer_type),
+ "email_params_get_int(%s) failed!", EMAIL_BUNDLE_KEY_RUN_TYPE);
}
- g_free(operation);
- g_free(run_type);
-
debug_leave();
email_profiling_end(composer_initial_data_parse_composer_run_type);
return COMPOSER_ERROR_NONE;
}
-COMPOSER_ERROR_TYPE_E composer_initial_data_pre_parse_arguments(EmailComposerUGD *ugd, app_control_h svc_handle)
+COMPOSER_ERROR_TYPE_E composer_initial_data_pre_parse_arguments(EmailComposerUGD *ugd, email_params_h params)
{
email_profiling_begin(composer_initial_data_pre_parse_arguments);
debug_enter();
retvm_if(!ugd, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: ugd is NULL!");
- retvm_if(!svc_handle, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: svc_handle is NULL!");
+ retvm_if(!params, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: params is NULL!");
COMPOSER_ERROR_TYPE_E return_val = COMPOSER_ERROR_NONE;
- int ret = 0;
- char *operation = NULL;
- char *uri = NULL;
- char *mime = NULL;
- char *argv[6] = { 0, };
- int i;
+ const char *operation = NULL;
+ const char *uri = NULL;
+ const char *mime = NULL;
+ const char *argv[6] = { 0, };
- ret = app_control_get_operation(svc_handle, &operation);
- debug_warning_if((ret != APP_CONTROL_ERROR_NONE) && (ret != APP_CONTROL_ERROR_KEY_NOT_FOUND), "app_control_get_operation() failed! ret:[%d]", ret);
+ debug_warning_if(!email_params_get_operation_opt(params, &operation),
+ "email_params_get_operation_opt() failed!");
if (ugd->composer_type != RUN_COMPOSER_EXTERNAL) {
debug_log("Composer launched internally! type:[%d]", ugd->composer_type);
- _initial_data_parse_service_data_by_internal(svc_handle, argv, ugd->composer_type);
+ _initial_data_parse_params_by_internal(params, argv, ugd->composer_type);
- return_val = _initial_data_process_service_data_by_internal(ugd, argv);
- gotom_if(return_val != COMPOSER_ERROR_NONE, EXIT_FUNC, "_initial_data_process_service_data_by_internal() failed!");
+ return_val = _initial_data_process_params_by_internal(ugd, argv);
+ gotom_if(return_val != COMPOSER_ERROR_NONE, EXIT_FUNC, "_initial_data_process_params_by_internal() failed!");
} else {
debug_log("Composer launched externally!");
if (operation == NULL) { /* ug called by ug_create */
- _initial_data_parse_service_data_by_ug(svc_handle, argv);
+ _initial_data_parse_params_by_ug(params, argv);
} else { /* ug called by appcontrol request */
if (!g_strcmp0(operation, APP_CONTROL_OPERATION_COMPOSE)) {
- ret = app_control_get_uri(svc_handle, &uri);
- if ((ret == APP_CONTROL_ERROR_NONE) && STR_VALID(uri) &&
+ if (email_params_get_uri(params, &uri) &&
g_str_has_prefix(uri, COMPOSER_SCHEME_MAILTO)) {
_initial_data_parse_mailto_uri(ugd, uri);
}
} else if (!g_strcmp0(operation, APP_CONTROL_OPERATION_SHARE) ||
!g_strcmp0(operation, APP_CONTROL_OPERATION_MULTI_SHARE)) {
- ret = app_control_get_mime(svc_handle, &mime);
- if ((ret == APP_CONTROL_ERROR_NONE) &&
+ if (email_params_get_mime(params, &mime) &&
!g_strcmp0(mime, COMPOSER_MIME_CONTACT_SHARE)) {
- _initial_data_parse_contacts_sharing(ugd, svc_handle, operation);
+ _initial_data_parse_contacts_sharing(ugd, params, operation);
}
}
- _initial_data_parse_service_data_by_appcontrol(ugd, svc_handle, argv, operation);
+ _initial_data_parse_params_by_appcontrol(ugd, params, argv, operation);
}
- return_val = _initial_data_process_service_data_by_external(ugd, argv);
- gotom_if(return_val != COMPOSER_ERROR_NONE, EXIT_FUNC, "_initial_data_process_service_data_by_external() failed!");
+ return_val = _initial_data_process_params_by_external(ugd, argv);
+ gotom_if(return_val != COMPOSER_ERROR_NONE, EXIT_FUNC, "_initial_data_process_params_by_external() failed!");
}
EXIT_FUNC:
- free(uri);
- free(mime);
- free(operation);
- for (i = 0; i < 6; i++) {
- free(argv[i]);
- }
-
debug_leave();
email_profiling_end(composer_initial_data_pre_parse_arguments);
return return_val;
}
-COMPOSER_ERROR_TYPE_E composer_initial_data_post_parse_arguments(EmailComposerUGD *ugd, app_control_h svc_handle)
+COMPOSER_ERROR_TYPE_E composer_initial_data_post_parse_arguments(EmailComposerUGD *ugd, email_params_h params)
{
email_profiling_begin(composer_initial_data_post_parse_arguments);
debug_enter();
retvm_if(!ugd, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: ugd is NULL!");
- retvm_if(!svc_handle, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: svc_handle is NULL!");
+ retvm_if(!params, COMPOSER_ERROR_INVALID_ARG, "Invalid parameter: params is NULL!");
if (ugd->composer_type == RUN_COMPOSER_EXTERNAL) {
- int ret = APP_CONTROL_ERROR_NONE;
- char *operation = NULL;
+ const char *operation = NULL;
Eina_List *attachment_uri_list = NULL;
- ret = app_control_get_operation(svc_handle, &operation);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_operation() failed! ret:[%d]", ret);
+ debug_warning_if(!email_params_get_operation_opt(params, &operation),
+ "email_params_get_operation_opt() failed!");
/* TODO: the first case is needed? it seems like dead case. */
if (operation == NULL) { /* ug called by ug_create */
- char *attachment_uri = NULL;
-
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_ATTACHMENT, &attachment_uri);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data() failed! ret:[%d]", ret);
-
- if (attachment_uri) {
+ const char *attachment_uri = NULL;
+ if (email_params_get_str(params, EMAIL_BUNDLE_KEY_ATTACHMENT, &attachment_uri)) {
gchar **split_att = g_strsplit_set(attachment_uri, ";\n", -1);
int i;
for (i = 0; i < g_strv_length(split_att); i++) {
}
}
g_strfreev(split_att);
- free(attachment_uri);
}
/* sharing contacts */
/* 1. parse uri */
if (!g_strcmp0(operation, APP_CONTROL_OPERATION_SHARE)) {
- char *uri = NULL;
- ret = app_control_get_uri(svc_handle, &uri);
- if (ret == APP_CONTROL_ERROR_NONE) {
+ const char *uri = NULL;
+ if (email_params_get_uri(params, &uri)) {
if (STR_VALID(uri) && !g_str_has_prefix(uri, COMPOSER_SCHEME_MAILTO)) {
attachment_uri_list = eina_list_append(attachment_uri_list, g_strdup(uri));
parse_data_path = false;
}
- free(uri);
}
}
/* 2. parse value as "http://tizen.org/appcontrol/data/path" */
if (parse_data_path) {
- char *path = NULL;
- char **path_array = NULL;
+ const char *path = NULL;
+ const char **path_array = NULL;
int path_array_len = 0;
- bool is_array = false;
+ bool is_array = true;
+ bool ok = false;
- ret = app_control_is_extra_data_array(svc_handle, APP_CONTROL_DATA_PATH, &is_array);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_is_extra_data_array() failed! ret:[%d]", ret);
- is_array = true;
+ if (!email_params_get_is_array(params, APP_CONTROL_DATA_PATH, &is_array)) {
+ debug_error("email_params_get_is_array() failed!");
}
debug_log("is_array = %d", is_array);
if (is_array) {
- ret = app_control_get_extra_data_array(svc_handle, APP_CONTROL_DATA_PATH, &path_array, &path_array_len);
+ ok = email_params_get_str_array(params, APP_CONTROL_DATA_PATH, &path_array, &path_array_len);
} else {
- ret = app_control_get_extra_data(svc_handle, APP_CONTROL_DATA_PATH, &path);
+ ok = email_params_get_str(params, APP_CONTROL_DATA_PATH, &path);
}
- if (ret != APP_CONTROL_ERROR_NONE) {
+ if (!ok) {
if (g_strcmp0(operation, APP_CONTROL_OPERATION_SHARE_TEXT)) {
- debug_warning("app_control_get_extra_data_***(%s) failed! ret:[%d]", APP_CONTROL_DATA_PATH, ret);
+ debug_warning("email_params_get_str***(%s) failed!", APP_CONTROL_DATA_PATH);
}
} else if (path_array) {
int i = 0;
if (STR_VALID(path_array[i])) {
attachment_uri_list = eina_list_append(attachment_uri_list, g_strdup(path_array[i]));
}
- free(path_array[i]);
}
- free(path_array);
} else {
if (STR_VALID(path)) {
attachment_uri_list = eina_list_append(attachment_uri_list, g_strdup(path));
}
- free(path);
}
}
}
_initial_data_parse_attachments(ugd, attachment_uri_list);
}
- g_free(operation);
}
debug_leave();
}
}
-static void _recp_append_extra_data_array(gchar **dst, app_control_h app_control, const char *data_key)
+static void _recp_append_extra_data_array(gchar **dst, email_params_h params, const char *data_key)
{
retm_if(!dst, "dst is NULL");
- retm_if(!app_control, "app_control is NULL");
+ retm_if(!params, "params is NULL");
retm_if(!data_key, "data_key is NULL");
- char **array = NULL;
+ const char **array = NULL;
int array_length = 0;
- int ret = 0;
int i = 0;
- ret = app_control_get_extra_data_array(app_control, data_key, &array, &array_length);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data_array(%s) failed! ret:[%d]", data_key, ret);
+ retm_if(!email_params_get_str_array(params, data_key, &array, &array_length),
+ "email_params_get_str_array(%s) failed!", data_key);
while (i < array_length) {
_recp_append_string(dst, g_strdup(array[i]));
- free(array[i]);
++i;
}
-
- free(array);
}
*
*/
-#include <app_control.h>
#include <account.h>
#include "email-popup-utils.h"
* Declaration for static functions
*/
-static void _launch_app_recipient_contacts_reply_cb(void *data, app_control_result_e result, app_control_h reply);
+static void _launch_app_recipient_contacts_reply_cb(void *data, app_control_result_e result, email_params_h reply);
static void _preview_attachment_close_cb(void *data);
-static int _composer_pick_contacts_set_params(EmailComposerUGD *ugd, app_control_h svc_handle);
static int _composer_add_update_contact_launch(EmailComposerUGD *ugd,
const char *operation,
const char *contact_email,
const char *contact_name);
-static int _composer_add_update_contact_set_params(EmailComposerUGD *ugd,
- app_control_h service,
- const char *operation,
- const char *contact_email,
- const char *contact_name);
static email_string_t EMAIL_COMPOSER_STRING_NULL = { NULL, NULL };
static email_string_t EMAIL_COMPOSER_STRING_BUTTON_OK = { PACKAGE, "IDS_EMAIL_BUTTON_OK" };
{
debug_enter();
- app_control_h svc_handle = NULL;
- int ret = app_control_create(&svc_handle);
- retvm_if((ret != APP_CONTROL_ERROR_NONE || !svc_handle),
- COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION,
- "app_control_create() failed![%d]", ret);
+ int ret = -1;
+ email_params_h params = NULL;
- ret = app_control_set_mime(svc_handle, EMAIL_CONTACT_MIME_SCHEME);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_set_mime failed![%d]", ret);
- app_control_destroy(svc_handle);
- return COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION;
- }
+ if (email_params_create(¶ms) &&
+ email_params_set_mime(params, EMAIL_CONTACT_MIME_SCHEME) &&
+ email_params_set_operation(params, operation) &&
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_EMAIL, contact_email) &&
+ (!contact_name ||
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_NAME, contact_name))) {
- if (_composer_add_update_contact_set_params(ugd, svc_handle,
- operation, contact_email, contact_name) != APP_CONTROL_ERROR_NONE) {
- debug_error("_composer_add_update_contact_set_params failed![%d]", ret);
- app_control_destroy(svc_handle);
- return COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION;
+ ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_AUTO, params, NULL);
}
- ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_AUTO, svc_handle, NULL);
+ email_params_free(¶ms);
+
if (ret != 0) {
- debug_error("email_module_launch_app() failed![%d]", ret);
- app_control_destroy(svc_handle);
+ debug_error("Launch failed! [%d]", ret);
return COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION;
}
- app_control_destroy(svc_handle);
debug_leave();
-
return COMPOSER_ERROR_NONE;
}
-static int _composer_pick_contacts_set_params(EmailComposerUGD *ugd, app_control_h svc_handle)
-{
- int ret = app_control_set_operation(svc_handle, APP_CONTROL_OPERATION_PICK);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_set_operation() failed! ret:[%d]", ret);
-
- ret = app_control_add_extra_data(svc_handle, EMAIL_CONTACT_EXT_DATA_SELECTION_MODE, EMAIL_CONTACT_BUNDLE_SELECT_MULTIPLE);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_add_extra_data() failed! ret:[%d]", ret);
-
- ret = app_control_add_extra_data(svc_handle, EMAIL_CONTACT_EXT_DATA_TYPE, EMAIL_CONTACT_BUNDLE_EMAIL);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_add_extra_data() failed! ret:[%d]", ret);
-
- char max_count[BUF_LEN_T] = { 0 };
- snprintf(max_count, sizeof(max_count), "%d", MAX_RECIPIENT_COUNT);
- ret = app_control_add_extra_data(svc_handle, EMAIL_CONTACT_EXT_DATA_TOTAL_COUNT, max_count);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_add_extra_data() failed! ret:[%d]", ret);
-
- return COMPOSER_ERROR_NONE;
-}
-
-static int _composer_add_update_contact_set_params(EmailComposerUGD *ugd,
- app_control_h service,
- const char *operation,
- const char *contact_email,
- const char *contact_name)
-{
- int ret = app_control_set_operation(service, operation);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_set_operation failed: %d", ret);
-
- ret = app_control_add_extra_data(service, EMAIL_CONTACT_EXT_DATA_EMAIL, contact_email);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_add_extra_data failed: %d", ret);
-
- if (contact_name) {
- ret = app_control_add_extra_data(service, EMAIL_CONTACT_EXT_DATA_NAME, contact_name);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, COMPOSER_ERROR_FAILED_TO_LAUNCH_APPLICATION, "app_control_add_extra_data failed: %d", ret);
- }
-
- return COMPOSER_ERROR_NONE;
-}
-
-
-
-static void _launch_app_recipient_contacts_reply_cb(void *data, app_control_result_e result, app_control_h reply)
+static void _launch_app_recipient_contacts_reply_cb(void *data, app_control_result_e result, email_params_h reply)
{
debug_enter();
ugd->recipient_added_from_contacts = EINA_TRUE;
int i = 0;
- char **return_value = NULL;
+ const char **return_value = NULL;
int len = 0;
- int ret = app_control_get_extra_data_array(reply, EMAIL_CONTACT_EXT_DATA_SELECTED, &return_value, &len);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data_array() failed! ret:[%d]", ret);
+ retm_if(!email_params_get_str_array(reply, EMAIL_CONTACT_EXT_DATA_SELECTED, &return_value, &len),
+ "email_params_get_str_array() failed!");
for (i = 0; i < len ; i++) {
if (ret != 0) {
ugd->composer_popup = composer_util_popup_create(ugd, EMAIL_COMPOSER_STRING_UNABLE_TO_OPEN_FILE, EMAIL_COMPOSER_STRING_FILE_NOT_SUPPORTED,
composer_util_popup_response_cb, EMAIL_COMPOSER_STRING_BUTTON_OK, EMAIL_COMPOSER_STRING_NULL, EMAIL_COMPOSER_STRING_NULL);
- debug_secure("app_control_send_launch_request() failed!");
+ debug_secure("email_preview_attachment_file() failed!");
return;
}
evas_object_freeze_events_set(ugd->ewk_view, EINA_TRUE);
debug_enter();
retm_if(!ugd, "Invalid parameter: ugd is NULL!");
- app_control_h svc_handle = NULL;
- int ret = app_control_create(&svc_handle);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_create() failed![%d]", ret);
+ int ret = -1;
+ email_params_h params = NULL;
- ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_STORAGE_SETTINGS, svc_handle, NULL);
- if (ret != 0) {
- debug_error("email_module_launch_app failed!");
+ if (email_params_create(¶ms)) {
+
+ ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_STORAGE_SETTINGS, params, NULL);
}
- app_control_destroy(svc_handle);
+ email_params_free(¶ms);
+
+ if (ret != 0) {
+ debug_error("Launch failed! [%d]", ret);
+ }
debug_leave();
}
retm_if(!ugd, "Invalid parameter: ugd is NULL!");
- app_control_h svc_handle = NULL;
-
- while (1) {
+ int ret = -1;
+ email_params_h params = NULL;
- int ret = app_control_create(&svc_handle);
- if (ret != APP_CONTROL_ERROR_NONE || !svc_handle) {
- debug_error("app_control_create() failed![%d]", ret);
- break;
- }
-
- ret = app_control_set_mime(svc_handle, EMAIL_CONTACT_MIME_SCHEME);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_set_mime failed![%d]", ret);
- break;
- }
-
- ret = _composer_pick_contacts_set_params(ugd, svc_handle);
- if (ret != COMPOSER_ERROR_NONE) {
- debug_error("_composer_pick_contacts_set_params failed![%d]", ret);
- break;
- }
+ if (email_params_create(¶ms) &&
+ email_params_set_mime(params, EMAIL_CONTACT_MIME_SCHEME) &&
+ email_params_set_operation(params, APP_CONTROL_OPERATION_PICK) &&
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_SELECTION_MODE, EMAIL_CONTACT_BUNDLE_SELECT_MULTIPLE) &&
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_TYPE, EMAIL_CONTACT_BUNDLE_EMAIL) &&
+ email_params_add_int(params, EMAIL_CONTACT_EXT_DATA_TOTAL_COUNT, MAX_RECIPIENT_COUNT)) {
email_launched_app_listener_t listener = { 0 };
listener.cb_data = ugd;
listener.reply_cb = _launch_app_recipient_contacts_reply_cb;
- ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_AUTO, svc_handle, &listener);
- if (ret != 0) {
- debug_error("email_module_launch_app() failed![%d]", ret);
- break;
- }
+ ret = email_module_launch_app(ugd->base.module, EMAIL_LAUNCH_APP_AUTO, params, &listener);
+ }
- app_control_destroy(svc_handle);
+ email_params_free(¶ms);
- debug_leave();
- return;
+ if (ret != 0) {
+ debug_error("Launch failed! [%d]", ret);
+
+ ugd->composer_popup = composer_util_popup_create(ugd,
+ EMAIL_COMPOSER_UNABLE_TO_LAUNCH_APPLICATION,
+ EMAIL_COMPOSER_STRING_POP_AN_UNKNOWN_ERROR_HAS_OCCURRED,
+ composer_util_popup_response_cb,
+ EMAIL_COMPOSER_STRING_BUTTON_OK,
+ EMAIL_COMPOSER_STRING_NULL,
+ EMAIL_COMPOSER_STRING_NULL);
}
- app_control_destroy(svc_handle);
- ugd->composer_popup = composer_util_popup_create(ugd,
- EMAIL_COMPOSER_UNABLE_TO_LAUNCH_APPLICATION,
- EMAIL_COMPOSER_STRING_POP_AN_UNKNOWN_ERROR_HAS_OCCURRED,
- composer_util_popup_response_cb,
- EMAIL_COMPOSER_STRING_BUTTON_OK,
- EMAIL_COMPOSER_STRING_NULL,
- EMAIL_COMPOSER_STRING_NULL);
-
debug_leave();
}
static void _composer_add_main_callbacks(EmailComposerUGD *ugd);
static void _composer_del_main_callbacks(EmailComposerUGD *ugd);
-static int _composer_module_create(email_module_t *self, app_control_h params);
-static void _composer_on_message(email_module_t *self, app_control_h msg);
+static int _composer_module_create(email_module_t *self, email_params_h params);
+static void _composer_on_message(email_module_t *self, email_params_h msg);
static void _composer_on_event(email_module_t *self, email_module_event_e event);
static int _composer_create(email_view_t *self);
composer_initial_view_draw_remaining_components(ugd);
composer_initial_data_set_mail_info(ugd, true);
- composer_initial_data_post_parse_arguments(ugd, ugd->ec_app);
+ composer_initial_data_post_parse_arguments(ugd, ugd->launch_params);
composer_initial_data_make_initial_contents(ugd);
CATCH:
gotom_if(ugd->eComposerErrorType != COMPOSER_ERROR_NONE, CATCH, "_composer_construct_composer_data() failed");
composer_initial_data_set_mail_info(ugd, true);
- composer_initial_data_post_parse_arguments(ugd, ugd->ec_app);
+ composer_initial_data_post_parse_arguments(ugd, ugd->launch_params);
composer_initial_data_make_initial_contents(ugd);
CATCH:
debug_enter();
EmailComposerUGD *ugd = data;
- app_control_h params = NULL;
+ email_params_h params = NULL;
email_module_h module = NULL;
if ((obj != ugd->composer_popup) &&
ret = _composer_initialize_services(ugd);
gotom_if(ret != COMPOSER_ERROR_NONE, CATCH, "_composer_initialize_services() failed");
- ret = composer_initial_data_pre_parse_arguments(ugd, ugd->ec_app);
+ ret = composer_initial_data_pre_parse_arguments(ugd, ugd->launch_params);
gotom_if(ret != COMPOSER_ERROR_NONE, CATCH, "composer_initial_data_pre_parse_arguments() failed");
ret = _composer_prepare_vcard(ugd);
}
}
-static int _composer_module_create(email_module_t *self, app_control_h params)
+static int _composer_module_create(email_module_t *self, email_params_h params)
{
debug_enter();
retvm_if(!self, -1, "Invalid parameter: self is NULL!");
EmailComposerModule *md = (EmailComposerModule *)self;
- app_control_clone(&md->view.ec_app, params);
+ email_params_clone(&md->view.launch_params, params);
md->view.eComposerErrorType = composer_initial_data_parse_composer_run_type(&md->view, params);
retvm_if(md->view.eComposerErrorType != COMPOSER_ERROR_NONE, -1, "composer_initial_data_parse_composer_run_type() failed");
ugd->timer_lazy_loading = ecore_timer_add(0.2f, _composer_delayed_drawing_timer_cb, ugd);
} else {
composer_initial_data_set_mail_info(ugd, true);
- composer_initial_data_post_parse_arguments(ugd, ugd->ec_app);
+ composer_initial_data_post_parse_arguments(ugd, ugd->launch_params);
composer_initial_data_make_initial_contents(ugd);
}
retm_if(!self, "Invalid parameter: self is NULL!");
EmailComposerUGD *ugd = (EmailComposerUGD *)self;
- app_control_h reply_service;
+ email_params_h reply = NULL;
- int ret = app_control_create(&reply_service);
- if (ret == APP_CONTROL_ERROR_NONE) {
- ret = email_module_send_result(ugd->base.module, reply_service);
+ if (email_params_create(&reply)) {
+ int ret = email_module_send_result(ugd->base.module, reply);
debug_warning_if(ret != 0, "email_module_send_result() failed!");
-
- ret = app_control_destroy(reply_service);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_destroy() failed!");
} else {
- debug_warning("app_control_create() failed!");
+ debug_warning("email_params_create() failed!");
}
- app_control_destroy(ugd->ec_app);
+ email_params_free(&reply);
+
+ email_params_free(&ugd->launch_params);
ugd->is_composer_getting_destroyed = EINA_TRUE;
_composer_del_main_callbacks(ugd);
return;
}
-static void _composer_on_message(email_module_t *self, app_control_h msg)
+static void _composer_on_message(email_module_t *self, email_params_h msg)
{
debug_enter();
EmailComposerModule *md = (EmailComposerModule *)self;
EmailComposerUGD *ugd = &md->view;
- char *msg_type = NULL;
+ const char *msg_type = NULL;
- int ret = app_control_get_extra_data(msg, EMAIL_BUNDLE_KEY_MSG, &msg_type);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data(%s) failed! (%d)", EMAIL_BUNDLE_KEY_MSG, ret);
+ debug_warning_if(!email_params_get_str(msg, EMAIL_BUNDLE_KEY_MSG, &msg_type),
+ "email_params_get_str(%s) failed!", EMAIL_BUNDLE_KEY_MSG);
if (g_strcmp0(msg_type, EMAIL_BUNDLE_VAL_EMAIL_COMPOSER_SAVE_DRAFT) == 0) {
ugd->need_to_destroy_after_initializing = EINA_TRUE;
}
}
- FREE(msg_type);
debug_leave();
}
/*Filter operation type*/
FilterOperationType op_type;
- char *param_filter_addr;
+ const char *param_filter_addr;
/* base layout variable */
Evas_Object *more_btn;
static void _entry_changed_cb(void *data, Evas_Object *obj, void *event_info);
static void _contact_button_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static Evas_Object *_gl_content_get_cb(void *data, Evas_Object *obj, const char *part);
-static void _contact_app_reply_cb(void *data, app_control_result_e result, app_control_h reply);
+static void _contact_app_reply_cb(void *data, app_control_result_e result, email_params_h reply);
static int _checking_is_dup_rule(EmailFilterVD *vd, email_rule_t *filter_rule);
static Evas_Object *_create_list(EmailFilterVD *vd);
{
debug_enter();
- app_control_h service = NULL;
- email_launched_app_listener_t listener = { 0 };
- int ret = 0;
- listener.cb_data = vd;
- listener.reply_cb = _contact_app_reply_cb;
-
- app_control_create(&service);
- retm_if(!service, "app_control_create failed");
+ email_params_h params = NULL;
- ret = app_control_set_operation(service, APP_CONTROL_OPERATION_PICK);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_log("app_control_set_operation() failed! ret:[%d]", ret);
- goto FINISH;
- }
-
- ret = app_control_set_mime(service, EMAIL_CONTACT_MIME_SCHEME);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_log("app_control_set_mime() failed! ret:[%d]", ret);
- goto FINISH;
- }
+ if (email_params_create(¶ms) &&
+ email_params_set_operation(params, APP_CONTROL_OPERATION_PICK) &&
+ email_params_set_mime(params, EMAIL_CONTACT_MIME_SCHEME) &&
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_TYPE, EMAIL_CONTACT_BUNDLE_EMAIL) &&
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_SELECTION_MODE, EMAIL_CONTACT_BUNDLE_SELECT_SINGLE)) {
- ret = app_control_add_extra_data(service, EMAIL_CONTACT_EXT_DATA_TYPE, EMAIL_CONTACT_BUNDLE_EMAIL);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_log("app_control_add_extra_data() failed! ret:[%d]", ret);
- goto FINISH;
- }
+ email_launched_app_listener_t listener = { 0 };
+ listener.cb_data = vd;
+ listener.reply_cb = _contact_app_reply_cb;
- ret = app_control_add_extra_data(service, EMAIL_CONTACT_EXT_DATA_SELECTION_MODE, EMAIL_CONTACT_BUNDLE_SELECT_SINGLE);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_log("app_control_add_extra_data() failed! ret:[%d]", ret);
- goto FINISH;
+ email_module_launch_app(vd->base.module, EMAIL_LAUNCH_APP_AUTO, params, &listener);
}
- email_module_launch_app(vd->base.module, EMAIL_LAUNCH_APP_AUTO, service, &listener);
-
-FINISH:
- app_control_destroy(service);
+ email_params_free(¶ms);
}
-static void _contact_app_reply_cb(void *data, app_control_result_e result, app_control_h reply)
+static void _contact_app_reply_cb(void *data, app_control_result_e result, email_params_h reply)
{
debug_enter();
EmailFilterVD *vd = data;
- char **filter_addr_id_arr = NULL;
+ const char **filter_addr_id_arr = NULL;
int id = -1;
int len = 0;
- int ret = app_control_get_extra_data_array(reply, EMAIL_CONTACT_EXT_DATA_SELECTED, &filter_addr_id_arr, &len);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data_array() failed! ret:[%d]", ret);
+ retm_if(!email_params_get_str_array(reply, EMAIL_CONTACT_EXT_DATA_SELECTED, &filter_addr_id_arr, &len),
+ "email_params_get_str_array() failed!");
if (len <= 0) {
- free(filter_addr_id_arr);
return;
}
id = atoi(filter_addr_id_arr[0]);
debug_log("email id: %d", id);
- int i = 0;
- for (; i < len; i++) {
- free(filter_addr_id_arr[i]);
- }
- free(filter_addr_id_arr);
-
email_contact_list_info_t *contact_info = email_contacts_get_contact_info_by_email_id(id);
if (!contact_info || !contact_info->email_address) {
debug_error("contact_data is NULL");
static void _entry_maxlength_reached_cb(void *data, Evas_Object *obj, void *event_info);
static void _title_show(EmailFilterUGD *ugd);
static void _title_hide(EmailFilterUGD *ugd);
-static EmailFilterViewType _parse_option(EmailFilterUGD *ugd, app_control_h data);
+static EmailFilterViewType _parse_option(EmailFilterUGD *ugd, email_params_h params);
-static int _filter_create(email_module_t *self, app_control_h params)
+static int _filter_create(email_module_t *self, email_params_h params)
{
debug_enter();
EmailFilterUGD *ugd = NULL;
}
}
-static EmailFilterViewType _parse_option(EmailFilterUGD *ugd, app_control_h data)
+static EmailFilterViewType _parse_option(EmailFilterUGD *ugd, email_params_h params)
{
debug_enter();
- char *operation_mode = NULL;
- char *filter_op = NULL;
+ const char *operation_mode = NULL;
+ const char *filter_op = NULL;
- retvm_if(!data, EMAIL_FILTER_VIEW_INVALID, "invalid parameter!");
+ retvm_if(!params, EMAIL_FILTER_VIEW_INVALID, "invalid parameter!");
- app_control_get_extra_data(data, EMAIL_BUNDLE_KEY_FILTER_OPERATION, &filter_op);
- if (filter_op) {
+ if (email_params_get_str(params, EMAIL_BUNDLE_KEY_FILTER_OPERATION, &filter_op)) {
if (!strcmp(filter_op, EMAIL_BUNDLE_VAL_FILTER_OPERATION_PS))
ugd->op_type = EMAIL_FILTER_OPERATION_PRIORITY_SERNDER;
else if (!strcmp(filter_op, EMAIL_BUNDLE_VAL_FILTER_OPERATION_BLOCK))
ugd->op_type = EMAIL_FILTER_OPERATION_BLOCK;
else
ugd->op_type = EMAIL_FILTER_OPERATION_FILTER;
- free(filter_op);
} else {
ugd->op_type = EMAIL_FILTER_OPERATION_FILTER;
}
- app_control_get_extra_data(data, EMAIL_BUNDLE_KEY_FILTER_MODE, &operation_mode);
- retvm_if(!operation_mode, EMAIL_FILTER_VIEW_INVALID, "invalid parameter!");
+ retvm_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_FILTER_MODE, &operation_mode),
+ EMAIL_FILTER_VIEW_INVALID, "invalid parameter!");
if (!strcmp(operation_mode, EMAIL_BUNDLE_VAL_FILTER_LIST)) {
- free(operation_mode);
debug_log("filter list view start");
return EMAIL_FILTER_VIEW_FILTER_LIST;
} else if (!strcmp(operation_mode, EMAIL_BUNDLE_VAL_FILTER_ADD)) {
- app_control_get_extra_data(data, EMAIL_BUNDLE_KEY_FILTER_ADDR, &ugd->param_filter_addr);
- free(operation_mode);
+ email_params_get_str_opt(params, EMAIL_BUNDLE_KEY_FILTER_ADDR, &ugd->param_filter_addr);
debug_secure("filter add view start: address[%s]", ugd->param_filter_addr);
return EMAIL_FILTER_VIEW_ADD_FILTER;
}
debug_error("invalid parameter!");
- free(operation_mode);
return EMAIL_FILTER_VIEW_INVALID;
}
* @brief Creates Composer module from Mailbox view
* @param[in] data User data (Email mailbox data)
* @param[in] type Email Module type (EMAIL_MODULE_COMPOSER)
- * @param[in] service App control handler
+ * @param[in] params Email params handle
* @return email_module_h handler that used as text filter
*/
-email_module_h mailbox_composer_module_create(void *data, email_module_type_e type, app_control_h service);
+email_module_h mailbox_composer_module_create(void *data, email_module_type_e type, email_params_h params);
/**
* @brief Callback function to destroy Composer module
* @brief Creates Viewer module from Mailbox view
* @param[in] data User data (Email mailbox data)
* @param[in] type Email Module type (EMAIL_MODULE_COMPOSER)
- * @param[in] service App control handler
+ * @param[in] params Email params handle
* @return email_module_h handler that used as text filter
*/
-email_module_h mailbox_viewer_module_create(void *data, email_module_type_e type, app_control_h service);
+email_module_h mailbox_viewer_module_create(void *data, email_module_type_e type, email_params_h params);
/**
* @brief Callback function to destroy Viewer module
* @brief Creates Account module from Mailbox view
* @param[in] data User data (Email mailbox data)
* @param[in] type Email Module type (EMAIL_MODULE_COMPOSER)
- * @param[in] service App control handler
+ * @param[in] params Email params handle
* @return email_module_h handler that used as text filter
*/
-email_module_h mailbox_account_module_create(void *data, email_module_type_e type, app_control_h service);
+email_module_h mailbox_account_module_create(void *data, email_module_type_e type, email_params_h params);
/**
* @brief Callback function to destroy Account module
* @brief Creates Setting module from Mailbox view
* @param[in] data User data (Email mailbox data)
* @param[in] type Email Module type (EMAIL_MODULE_COMPOSER)
- * @param[in] service App control hendler
+ * @param[in] params Email params handle
* @return email_module_h handler that used as text filter
*/
-email_module_h mailbox_setting_module_create(void *data, email_module_type_e type, app_control_h service);
+email_module_h mailbox_setting_module_create(void *data, email_module_type_e type, email_params_h params);
/**
* @brief Callback function to destroy Setting module
* @param[in] mailbox_ugd Email mailbox data
* @return 0 on success, otherwise a negative error value
*/
-int mailbox_handle_next_msg_bundle(EmailMailboxUGD *mailbox_ugd, app_control_h msg);
+int mailbox_handle_next_msg_bundle(EmailMailboxUGD *mailbox_ugd, email_params_h msg);
/**
* @brief Handles message from Viewer to open the previous mail
* @param[in] mailbox_ugd Email mailbox data
* @return 0 on success, otherwise a negative error value
*/
-int mailbox_handle_prev_msg_bundle(EmailMailboxUGD *mailbox_ugd, app_control_h msg);
+int mailbox_handle_prev_msg_bundle(EmailMailboxUGD *mailbox_ugd, email_params_h msg);
/**
* @brief Provides functionality to open the Email viewer
int checked_count = eina_list_count(mailbox_ugd->selected_mail_list);
int account_id = 0;
- int mail_list_length = 0;
- app_control_h service;
+ int i = 0;
debug_log("checked_count: [%d]", checked_count);
if (checked_count <= 0) return;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
+ char **selected_mail_list = malloc(checked_count * (sizeof(char *) + MAIL_ID_SIZE));
+ if (!selected_mail_list) {
+ debug_error("allocation memory failed");
return;
}
- int i = 0;
- int temp_count = 0;
- temp_count = checked_count;
- debug_log("temp_count %d", temp_count);
- char **temp = MEM_ALLOC(temp, temp_count);
- for (i = 0; i < temp_count; i++) {
- temp[i] = MEM_ALLOC(temp[i], MAIL_ID_SIZE);
+ selected_mail_list[0] = (char *)&selected_mail_list[checked_count];
+ for (i = 1; i < checked_count; i++) {
+ selected_mail_list[i] = (selected_mail_list[i - 1] + MAIL_ID_SIZE);
}
for (i = 0; i < checked_count; i++) {
mailbox_ugd->move_src_mailbox_id = ld->mailbox_id;
}
- /* save the mail-id to be moved */
- debug_log("not Thread...");
- int mail_id = ld->mail_id;
- snprintf(temp[mail_list_length++], MAIL_ID_SIZE, "%d", mail_id);
+ snprintf(selected_mail_list[i], MAIL_ID_SIZE, "%d", (int)ld->mail_id);
}
- debug_log("mail list length %d", mail_list_length);
- char **selected_mail_list = (char **)malloc(mail_list_length * sizeof(char *));
- if (!selected_mail_list) {
- app_control_destroy(service);
- for (i = 0; i < temp_count; i++) {
- FREE(temp[i]);
- }
- FREE(temp);
- debug_error("allocation memory failed");
- return;
- }
- for (i = 0; i < mail_list_length; i++) {
- selected_mail_list[i] = (char *)malloc(MAIL_ID_SIZE * sizeof(char));
- /* In case of failure free all previous elements service & temp & selected_mail_list[j] */
- if (!selected_mail_list[i]) {
- int j = i;
- app_control_destroy(service);
- for (i = 0; i < temp_count; i++) {
- FREE(temp[i]);
- }
- FREE(temp);
- for (--j; j >= 0; --j) {
- free(selected_mail_list[j]);
- }
- free(selected_mail_list);
- debug_error("allocation memory failed");
- return;
- }
- snprintf(selected_mail_list[i], MAIL_ID_SIZE, "%s", temp[i]);
- }
+ mailbox_sync_cancel_all(mailbox_ugd);
- for (i = 0; i < temp_count; i++) {
- FREE(temp[i]);
- }
- FREE(temp);
+ debug_log("account_id: %d, mailbox_id: %d", account_id, mailbox_ugd->move_src_mailbox_id);
- mailbox_sync_cancel_all(mailbox_ugd);
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_ugd->move_src_mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 1) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, EMAIL_MOVE_VIEW_NORMAL) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, mailbox_ugd->b_editmode) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, mailbox_ugd->move_src_mailbox_id) &&
+ email_params_add_str_array(params, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS,
+ (const char **)selected_mail_list, checked_count)) {
- char acctid[30] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", account_id);
- char mailboxid[30] = { 0, };
- snprintf(mailboxid, sizeof(mailboxid), "%d", mailbox_ugd->move_src_mailbox_id);
- char move_ug[30] = { 0, };
- snprintf(move_ug, sizeof(move_ug), "%d", 1);
- char move_mode[30] = { 0, };
- snprintf(move_mode, sizeof(move_mode), "%d", EMAIL_MOVE_VIEW_NORMAL);
- debug_log("setting move mode %s", move_mode);
- char mailbox_edit_mode[30] = { 0, };
- snprintf(mailbox_edit_mode, sizeof(mailbox_edit_mode), "%d", mailbox_ugd->b_editmode);
- char move_src_mailbox_id[30] = { 0, };
- snprintf(move_src_mailbox_id, sizeof(move_src_mailbox_id), "%d", mailbox_ugd->move_src_mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailboxid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, move_ug);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, move_mode);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, mailbox_edit_mode);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, move_src_mailbox_id);
- app_control_add_extra_data_array(service, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS, (const char **)selected_mail_list, mail_list_length);
- debug_log("account_id: %s, mailbox_id: %s", acctid, mailboxid);
-
- mailbox_ugd->account = mailbox_account_module_create(mailbox_ugd, EMAIL_MODULE_ACCOUNT, service);
- app_control_destroy(service);
-
- for (i = 0; i < mail_list_length; i++) {
- free(selected_mail_list[i]);
+ mailbox_ugd->account = mailbox_account_module_create(mailbox_ugd, EMAIL_MODULE_ACCOUNT, params);
}
- free(selected_mail_list);
+ email_params_free(¶ms);
+
+ free(selected_mail_list);
}
void mailbox_process_delete_mail(void *data, Ecore_Thread *thd)
debug_log("Composer UG is already launched");
return;
}
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_warning("creating service handle failed");
- return;
- }
- char cmd[30] = { 0, };
- snprintf(cmd, sizeof(cmd), "%d", RUN_COMPOSER_EDIT);
+ email_params_h params = NULL;
- char mailid[30] = { 0, };
- snprintf(mailid, sizeof(mailid), "%d", id);
- char acctid[30] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", ld->account_id);
- char mailboxid[30] = { 0, };
- snprintf(mailboxid, sizeof(mailboxid), "%d", ld->mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, cmd);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailboxid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_ID, mailid);
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, RUN_COMPOSER_EDIT) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ld->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ld->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_ID, id)) {
- ld->mailbox_ugd->composer = mailbox_composer_module_create(ld->mailbox_ugd, EMAIL_MODULE_COMPOSER, service);
+ ld->mailbox_ugd->composer = mailbox_composer_module_create(ld->mailbox_ugd, EMAIL_MODULE_COMPOSER, params);
+ }
- app_control_destroy(service);
+ email_params_free(¶ms);
} else {
mailbox_list_open_email_viewer(ld);
}
retm_if(!data, "data is NULL");
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
- app_control_h service;
+ email_params_h params = NULL;
DELETE_EVAS_OBJECT(mailbox_ugd->more_ctxpopup);
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- return;
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SETTING)) {
+
+ mailbox_ugd->setting = mailbox_setting_module_create(mailbox_ugd, EMAIL_MODULE_SETTING, params);
}
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SETTING);
- mailbox_ugd->setting = mailbox_setting_module_create(mailbox_ugd, EMAIL_MODULE_SETTING, service);
- app_control_destroy(service);
+ email_params_free(¶ms);
}
static void _more_ctxpopup_back_cb(void *data, Evas_Object *obj, void *event_info)
debug_log("composer type: %d", composer_type);
debug_log("account id: %d", account_id);
- char s_composer_type[14] = { 0, };
- char s_account_id[14] = { 0, };
- snprintf(s_composer_type, sizeof(s_composer_type), "%d", composer_type);
- snprintf(s_account_id, sizeof(s_account_id), "%d", account_id);
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, composer_type) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, account_id)) {
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
+ mailbox_ugd->composer = mailbox_composer_module_create(mailbox_ugd, EMAIL_MODULE_COMPOSER, params);
+ } else {
mailbox_ugd->is_module_launching = false;
- return;
}
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, s_composer_type);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, s_account_id);
- mailbox_ugd->composer = mailbox_composer_module_create(mailbox_ugd, EMAIL_MODULE_COMPOSER, service);
-
- app_control_destroy(service);
+ email_params_free(¶ms);
debug_leave();
}
* Declaration for static functions
*/
-static void _viewer_result_cb(void *data, email_module_h module, app_control_h result);
-static void _account_result_cb(void *data, email_module_h module, app_control_h result);
+static void _viewer_result_cb(void *data, email_module_h module, email_params_h result);
+static void _account_result_cb(void *data, email_module_h module, email_params_h result);
/*
* Definitions
* Definition for static functions
*/
-static void _viewer_result_cb(void *data, email_module_h module, app_control_h result)
+static void _viewer_result_cb(void *data, email_module_h module, email_params_h result)
{
debug_enter();
retm_if(!data, "data is NULL");
EmailMailboxUGD *mailbox_ugd = data;
- char *msg_type = NULL;
- int ret = 0;
+ const char *msg_type = NULL;
- ret = app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MSG, &msg_type);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data() failed! ret: [%d]", ret);
+ retm_if(!email_params_get_str(result, EMAIL_BUNDLE_KEY_MSG, &msg_type),
+ "email_params_get_str() failed!");
if (g_strcmp0(msg_type, EMAIL_BUNDLE_VAL_NEXT_MSG) == 0) {
mailbox_handle_next_msg_bundle(mailbox_ugd, result);
}
debug_log("mailbox_ugd->opened_mail_id : %d", mailbox_ugd->opened_mail_id);
-
- G_FREE(msg_type);
}
-static void _account_result_cb(void *data, email_module_h module, app_control_h result)
+static void _account_result_cb(void *data, email_module_h module, email_params_h result)
{
debug_enter();
retm_if(!module, "module is NULL");
retm_if(!data, "data is NULL");
- char *mode = NULL;
- char *account_id = NULL;
- char *mailbox_id = NULL;
- char *mailbox_type = NULL;
- int ret;
+ const char *mode = NULL;
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
if (mailbox_ugd->account)
mailbox_account_module_destroy(mailbox_ugd, mailbox_ugd->account);
/* handle result from move to folder ug */
- char *temp = NULL;
- int is_move_mail_ug = 0;
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &temp);
- is_move_mail_ug = atoi(temp);
- G_FREE(temp);
+ int is_move_mail_ug = 0;
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &is_move_mail_ug);
if (is_move_mail_ug) {
int b_edit_mod = 0;
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, &temp);
- b_edit_mod = atoi(temp);
- G_FREE(temp);
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX, &temp);
- mailbox_ugd->mailbox_id = (int)atoi(temp);
- G_FREE(temp);
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, &temp);
- mailbox_ugd->move_status = (int)atoi(temp);
- G_FREE(temp);
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, &temp);
+ const char *moved_mailbox_name = NULL;
+
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, &b_edit_mod);
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_MAILBOX, &mailbox_ugd->mailbox_id);
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, &mailbox_ugd->move_status);
+ email_params_get_str_opt(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, &moved_mailbox_name);
+
G_FREE(mailbox_ugd->moved_mailbox_name);
- mailbox_ugd->moved_mailbox_name = g_strdup(temp);
- G_FREE(temp);
+ mailbox_ugd->moved_mailbox_name = g_strdup(moved_mailbox_name);
if (b_edit_mod) {
mailbox_exit_edit_mode(mailbox_ugd);
}
- ret = app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, &mode);
- debug_log("app_control_get_extra_data: %d", ret);
+ email_params_get_str_opt(result, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, &mode);
mailbox_clear_prev_mailbox_info(mailbox_ugd);
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_ALL;
mailbox_ugd->account_id = 0;
- ret = app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &(mailbox_type));
- debug_log("app_control_get_extra_data: %d", ret);
- mailbox_ugd->mailbox_type = (gint) atoi(mailbox_type);
+ int mailbox_type = 0;
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &mailbox_type);
+ mailbox_ugd->mailbox_type = mailbox_type;
debug_log("account_id(%d), mailbox_type(%d)", mailbox_ugd->account_id, mailbox_ugd->mailbox_type);
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_MAILBOX;
- ret = app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id);
- debug_log("app_control_get_extra_data: %d", ret);
- mailbox_ugd->account_id = (gint) atoi(account_id);
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &mailbox_ugd->account_id);
- ret = app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX, &mailbox_id);
- debug_log("app_control_get_extra_data: %d", ret);
- if (mailbox_id) {
- mailbox_ugd->mailbox_id = (int)atoi(mailbox_id);
- G_FREE(mailbox_id);
- } else {
+ if (!email_params_get_int(result, EMAIL_BUNDLE_KEY_MAILBOX, &mailbox_ugd->mailbox_id)) {
debug_error("failure on getting mailbox_id");
- G_FREE(mode);
- G_FREE(account_id);
return;
}
mailbox_ugd->mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_PRIORITY_SENDER;
} else {
- G_FREE(mode);
- G_FREE(account_id);
- G_FREE(mailbox_type);
return;
}
mailbox_refreshing_progress_add(mailbox_ugd);
else
mailbox_refreshing_progress_remove(mailbox_ugd);*/
-
- G_FREE(mode);
- G_FREE(account_id);
- G_FREE(mailbox_type);
}
/*
* Definition for exported functions
*/
-email_module_h mailbox_composer_module_create(void *data, email_module_type_e type, app_control_h service)
+email_module_h mailbox_composer_module_create(void *data, email_module_type_e type, email_params_h params)
{
debug_enter();
listener.cb_data = mailbox_ugd;
listener.destroy_request_cb = mailbox_composer_module_destroy;
- email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, service, &listener);
+ email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, params, &listener);
if (mailbox_ugd->content_layout)
elm_object_tree_focus_allow_set(mailbox_ugd->content_layout, EINA_FALSE);
}
}
-email_module_h mailbox_viewer_module_create(void *data, email_module_type_e type, app_control_h service)
+email_module_h mailbox_viewer_module_create(void *data, email_module_type_e type, email_params_h params)
{
debug_enter();
listener.destroy_request_cb = mailbox_viewer_module_destroy;
if (!mailbox_ugd->viewer) {
- mailbox_ugd->viewer = email_module_create_child(mailbox_ugd->base.module, type, service, &listener);
+ mailbox_ugd->viewer = email_module_create_child(mailbox_ugd->base.module, type, params, &listener);
if (mailbox_ugd->content_layout) {
elm_object_tree_focus_allow_set(mailbox_ugd->content_layout, EINA_FALSE);
}
} else {
- email_module_send_message(mailbox_ugd->viewer, service);
+ email_module_send_message(mailbox_ugd->viewer, params);
}
return mailbox_ugd->viewer;
mailbox_ugd->opened_mail_id = 0;
}
-email_module_h mailbox_account_module_create(void *data, email_module_type_e type, app_control_h service)
+email_module_h mailbox_account_module_create(void *data, email_module_type_e type, email_params_h params)
{
debug_enter();
listener.result_cb = _account_result_cb;
listener.destroy_request_cb = mailbox_account_module_destroy;
- email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, service, &listener);
+ email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, params, &listener);
if (mailbox_ugd->content_layout)
elm_object_tree_focus_allow_set(mailbox_ugd->content_layout, EINA_FALSE);
mailbox_ugd->is_module_launching = false;
}
-email_module_h mailbox_setting_module_create(void *data, email_module_type_e type, app_control_h service)
+email_module_h mailbox_setting_module_create(void *data, email_module_type_e type, email_params_h params)
{
debug_enter();
listener.cb_data = mailbox_ugd;
listener.destroy_request_cb = mailbox_setting_module_destroy;
- email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, service, &listener);
+ email_module_h module = email_module_create_child(mailbox_ugd->base.module, type, params, &listener);
if (mailbox_ugd->content_layout)
elm_object_tree_focus_allow_set(mailbox_ugd->content_layout, EINA_FALSE);
* Declaration for static functions
*/
-static int _mailbox_module_create(email_module_t *self, app_control_h params);
+static int _mailbox_module_create(email_module_t *self, email_params_h params);
static void _mailbox_module_destroy(email_module_t *self);
-static void _mailbox_on_message(email_module_t *self, app_control_h msg);
+static void _mailbox_on_message(email_module_t *self, email_params_h msg);
static void _mailbox_email_service_ping_thread_heavy_cb(void *data, Ecore_Thread *thread);
static void _mailbox_email_service_ping_thread_notify_cb(void *data, Ecore_Thread *thread, void *msg_data);
static int _mailbox_initialize(EmailMailboxUGD *mailbox_ugd);
static void _mailbox_finalize(EmailMailboxUGD *mailbox_ugd);
-static email_run_type_e _mailbox_params_get_run_type(app_control_h params);
-static int _mailbox_params_get_account_id(app_control_h params);
-static int _mailbox_params_get_mail_id(app_control_h params);
+static email_run_type_e _mailbox_params_get_run_type(email_params_h params);
+static int _mailbox_params_get_account_id(email_params_h params);
+static int _mailbox_params_get_mail_id(email_params_h params);
-static int _mailbox_handle_launch_mailbox_bundle_val(EmailMailboxUGD *mailbox_ugd, app_control_h msg);
-static int _mailbox_handle_launch_viewer_bundle_val(EmailMailboxUGD *mailbox_ugd, app_control_h msg);
+static int _mailbox_handle_launch_mailbox_bundle_val(EmailMailboxUGD *mailbox_ugd, email_params_h msg);
+static int _mailbox_handle_launch_viewer_bundle_val(EmailMailboxUGD *mailbox_ugd, email_params_h msg);
static void _mailbox_create_view(EmailMailboxUGD *mailbox_ugd);
static void _mailbox_delete_evas_object(EmailMailboxUGD *mailbox_ugd);
* Definition for static functions
*/
-static int _mailbox_module_create(email_module_t *self, app_control_h params)
+static int _mailbox_module_create(email_module_t *self, email_params_h params)
{
debug_enter();
retvm_if(!self, -1, "self is NULL");
debug_enter();
retvm_if(!mailbox_ugd, -1, "mailbox_ugd is NULL");
- app_control_h service = NULL;
- int ret = APP_CONTROL_ERROR_NONE;
+ email_params_h params = NULL;
- ret = app_control_create(&service);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, -1, "app_control_create() failed! ret: [%d]", ret);
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_ACCOUNT_SETUP)) {
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_ACCOUNT_SETUP);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_add_extra_data() failed! ret: [%d]", ret);
- } else {
- mailbox_ugd->setting = mailbox_setting_module_create(mailbox_ugd, EMAIL_MODULE_SETTING, service);
+ mailbox_ugd->setting = mailbox_setting_module_create(mailbox_ugd, EMAIL_MODULE_SETTING, params);
}
- app_control_destroy(service);
+ email_params_free(¶ms);
retvm_if(!mailbox_ugd->setting, -1, "mailbox_setting_module_create() failed!");
return 0;
}
-static email_run_type_e _mailbox_params_get_run_type(app_control_h params)
+static email_run_type_e _mailbox_params_get_run_type(email_params_h params)
{
debug_enter();
email_run_type_e result = RUN_TYPE_UNKNOWN;
- char *operation = NULL;
+ const char *operation = NULL;
bool is_operation_default = false;
- if ((app_control_get_operation(params, &operation) != APP_CONTROL_ERROR_NONE) || !operation) {
+ if (!email_params_get_operation(params, &operation)) {
return result;
}
debug_warning("Operation is not supported: %s", operation);
}
- free(operation);
-
if (is_operation_default) {
if (email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_RUN_TYPE, &result)) {
if ((result != RUN_TYPE_UNKNOWN) && (result != RUN_VIEWER_FROM_NOTIFICATION) &&
return result;
}
-static int _mailbox_params_get_account_id(app_control_h params)
+static int _mailbox_params_get_account_id(email_params_h params)
{
debug_enter();
return result;
}
-static int _mailbox_params_get_mail_id(app_control_h params)
+static int _mailbox_params_get_mail_id(email_params_h params)
{
debug_enter();
}
-static void _mailbox_on_message(email_module_t *self, app_control_h msg)
+static void _mailbox_on_message(email_module_t *self, email_params_h msg)
{
debug_enter();
retm_if(!self, "self is NULL");
return;
}
-int mailbox_handle_next_msg_bundle(EmailMailboxUGD *mailbox_ugd, app_control_h msg)
+int mailbox_handle_next_msg_bundle(EmailMailboxUGD *mailbox_ugd, email_params_h msg)
{
debug_enter();
retvm_if(!mailbox_ugd, -1, "Error: mailbox_ugd is NULL");
MailItemData *ld = NULL;
GList *first = g_list_first(mailbox_ugd->mail_list);
GList *last = g_list_last(mailbox_ugd->mail_list);
- int ret;
- char *s_current_mail_index = NULL;
int current_mail_index = -1;
int cnt = g_list_length(mailbox_ugd->mail_list);
debug_log("first %p, last %p, cnt: %d", first, last, cnt);
- ret = app_control_get_extra_data(msg, EMAIL_BUNDLE_KEY_MAIL_INDEX, &s_current_mail_index);
- debug_log("app_control_get_extra_data: %d, %s", ret, s_current_mail_index);
- if (s_current_mail_index) {
- current_mail_index = atoi(s_current_mail_index);
- g_free(s_current_mail_index);
- }
+ email_params_get_int_opt(msg, EMAIL_BUNDLE_KEY_MAIL_INDEX, ¤t_mail_index);
+ debug_log("current_mail_index: %d", current_mail_index);
GList *opened_mail = g_list_find_custom(mailbox_ugd->mail_list, GINT_TO_POINTER(mailbox_ugd->opened_mail_id), mailbox_compare_mailid_in_list);
if (!opened_mail && current_mail_index > -1 && current_mail_index < cnt) {
}
-int mailbox_handle_prev_msg_bundle(EmailMailboxUGD *mailbox_ugd, app_control_h msg)
+int mailbox_handle_prev_msg_bundle(EmailMailboxUGD *mailbox_ugd, email_params_h msg)
{
debug_enter();
retvm_if(!mailbox_ugd, -1, "Error: mailbox_ugd is NULL");
MailItemData *ld = NULL;
GList *first = g_list_first(mailbox_ugd->mail_list);
GList *last = g_list_last(mailbox_ugd->mail_list);
- int ret;
- char *s_current_mail_index = NULL;
int current_mail_index = -1;
int cnt = g_list_length(mailbox_ugd->mail_list);
debug_log("first %p, last %p, cnt: %d", first, last, cnt);
- ret = app_control_get_extra_data(msg, EMAIL_BUNDLE_KEY_MAIL_INDEX, &s_current_mail_index);
- debug_log("app_control_get_extra_data: %d, %s", ret, s_current_mail_index);
- if (s_current_mail_index) {
- current_mail_index = atoi(s_current_mail_index);
- g_free(s_current_mail_index);
- }
+ email_params_get_int_opt(msg, EMAIL_BUNDLE_KEY_MAIL_INDEX, ¤t_mail_index);
+ debug_log("current_mail_index: %d", current_mail_index);
GList *opened_mail = g_list_find_custom(mailbox_ugd->mail_list, GINT_TO_POINTER(mailbox_ugd->opened_mail_id), mailbox_compare_mailid_in_list);
if (!opened_mail && current_mail_index > -1 && current_mail_index < cnt) {
debug_enter();
retvm_if(!mailbox_ugd, -1, "Error: mailbox_ugd is NULL");
- app_control_h service = NULL;
+ email_params_h params = NULL;
int ret = -1;
if (mailbox_ugd->account) {
if (mailbox_ugd->viewer && !keep_viewer) {
debug_log("Viewer is running. Need to destroy all viewer child modules.");
- if (email_params_create(&service) &&
- email_params_add_str(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_VIEWER_DESTROY_VIEW)) {
- ret = email_module_send_message(mailbox_ugd->viewer, service);
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_VIEWER_DESTROY_VIEW)) {
+ ret = email_module_send_message(mailbox_ugd->viewer, params);
}
if (ret != 0) {
if (mailbox_ugd->composer) {
debug_log("Asking composer to save in drafts.");
- if (email_params_create(&service) &&
- email_params_add_str(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_EMAIL_COMPOSER_SAVE_DRAFT)) {
- ret = email_module_send_message(mailbox_ugd->viewer, service);
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_EMAIL_COMPOSER_SAVE_DRAFT)) {
+ ret = email_module_send_message(mailbox_ugd->viewer, params);
}
if (ret != 0) {
}
}
- email_params_free(&service);
+ email_params_free(¶ms);
debug_leave();
return 0;
return 0;
}
-static int _mailbox_handle_launch_mailbox_bundle_val(EmailMailboxUGD *mailbox_ugd, app_control_h msg)
+static int _mailbox_handle_launch_mailbox_bundle_val(EmailMailboxUGD *mailbox_ugd, email_params_h msg)
{
debug_enter();
retvm_if(!mailbox_ugd, -1, "Error: mailbox_ugd is NULL");
return 0;
}
-static int _mailbox_handle_launch_viewer_bundle_val(EmailMailboxUGD *mailbox_ugd, app_control_h msg)
+static int _mailbox_handle_launch_viewer_bundle_val(EmailMailboxUGD *mailbox_ugd, email_params_h msg)
{
debug_enter();
retvm_if(!mailbox_ugd, -1, "Error: mailbox_ugd is NULL");
retvm_if(mail_id <= 0, -1, "(mail_id <= 0) is not allowed");
if (mailbox_ugd->viewer && (mail_id == mailbox_ugd->opened_mail_id)) {
- app_control_h params = NULL;
+ email_params_h params = NULL;
if (email_params_create(¶ms) &&
email_params_add_str(params, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_VIEWER_RESTORE_VIEW)) {
DELETE_EVAS_OBJECT(mailbox_ugd->more_ctxpopup);
if (!mailbox_ugd->b_editmode && !mailbox_ugd->b_searchmode) {
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- mailbox_ugd->is_module_launching = false;
- return;
- }
-
- char acctid[30] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", mailbox_ugd->account_id);
- char is_account_ug[30] = { 0, };
- snprintf(is_account_ug, sizeof(is_account_ug), "%d", 1);
- char boxtype[30] = { 0, };
- snprintf(boxtype, sizeof(boxtype), "%d", mailbox_ugd->mailbox_type);
- char boxid[30] = { 0, };
- snprintf(boxid, sizeof(boxid), "%d", mailbox_ugd->mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 0);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_ACCOUNT_UG, is_account_ug);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, boxtype);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, boxid);
+ const char *account_type = EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT;
if (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_PRIORITY_SENDER) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_PRIORITY_SENDER);
+ account_type = EMAIL_BUNDLE_VAL_PRIORITY_SENDER;
} else if (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL && mailbox_ugd->account_id == 0 && EMAIL_MAILBOX_TYPE_FLAGGED == mailbox_ugd->mailbox_type) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_FILTER_INBOX);
+ account_type = EMAIL_BUNDLE_VAL_FILTER_INBOX;
} else if (mailbox_ugd->account_id == 0) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
- } else {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT);
+ account_type = EMAIL_BUNDLE_VAL_ALL_ACCOUNT;
}
- mailbox_ugd->account = mailbox_account_module_create(mailbox_ugd, EMAIL_MODULE_ACCOUNT, service);
+ email_params_h params = NULL;
- app_control_destroy(service);
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, mailbox_ugd->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 0) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_ACCOUNT_UG, 1) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, mailbox_ugd->mailbox_type) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_ugd->mailbox_id) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, account_type)) {
+
+ mailbox_ugd->account = mailbox_account_module_create(mailbox_ugd, EMAIL_MODULE_ACCOUNT, params);
+ }
+
+ email_params_free(¶ms);
} else {
debug_log("account couldn't open. Edit/Search mode");
}
retvm_if(!mailbox_ugd, -1, "mailbox_ugd is NULL");
debug_log("account_id: %d, mailbox_id: %d, mail_id: %d", account_id, mailbox_id, mail_id);
- app_control_h service = NULL;
+ email_params_h params = NULL;
- if (email_params_create(&service) &&
- email_params_add_int(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, account_id) &&
- email_params_add_int(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id) &&
- email_params_add_int(service, EMAIL_BUNDLE_KEY_MAIL_ID, mail_id)) {
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_ID, mail_id)) {
mailbox_ugd->opened_mail_id = mail_id;
- mailbox_ugd->viewer = mailbox_viewer_module_create(mailbox_ugd, EMAIL_MODULE_VIEWER, service);
+ mailbox_ugd->viewer = mailbox_viewer_module_create(mailbox_ugd, EMAIL_MODULE_VIEWER, params);
}
- email_params_free(&service);
+ email_params_free(¶ms);
debug_leave();
return 0;
debug_enter();
email_view_t *vd = data;
EmailSettingUGD *ugd = (EmailSettingUGD *)vd->module;
- app_control_h b;
+ app_control_h app_control;
int ret;
- ret = app_control_create(&b);
+ ret = app_control_create(&app_control);
retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_create failed: %d", ret);
- app_control_set_operation(b, APP_CONTROL_OPERATION_SETTING_WIFI);
- ret = app_control_send_launch_request(b, NULL, NULL);
+ app_control_set_operation(app_control, APP_CONTROL_OPERATION_SETTING_WIFI);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_send_launch_request failed: %d", ret);
- app_control_destroy(b);
+ app_control_destroy(app_control);
DELETE_EVAS_OBJECT(ugd->popup);
}
email_view_t *vd = data;
EmailSettingUGD *ugd = (EmailSettingUGD *)vd->module;
email_network_status_e status = (int)(ptrdiff_t)evas_object_data_get(ugd->popup, EMAIL_SETTING_POPUP_NET_ERROR_CODE_KEY);
- app_control_h b;
+ app_control_h app_control;
int ret;
- ret = app_control_create(&b);
+ ret = app_control_create(&app_control);
retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control_create failed: %d", ret);
debug_log("network status in btn callback: %d", status);
if (status == EMAIL_NETWORK_STATUS_FLIGHT_MODE) {
- app_control_set_app_id(b, "setting-flightmode-efl");
+ app_control_set_app_id(app_control, "setting-flightmode-efl");
} else if (status == EMAIL_NETWORK_STATUS_MOBILE_DATA_DISABLED ||
status == EMAIL_NETWORK_STATUS_ROAMING_OFF) {
- app_control_set_app_id(b, "setting-network-efl");
- app_control_set_operation(b, "http://tizen.org/appcontrol/operation/setting/mobile_network");
+ app_control_set_app_id(app_control, "setting-network-efl");
+ app_control_set_operation(app_control, "http://tizen.org/appcontrol/operation/setting/mobile_network");
} else if (status == EMAIL_NETWORK_STATUS_MOBILE_DATA_LIMIT_EXCEED) {
- app_control_set_app_id(b, "setting-datausage-efl");
+ app_control_set_app_id(app_control, "setting-datausage-efl");
}
- app_control_send_launch_request(b, NULL, NULL);
+ app_control_send_launch_request(app_control, NULL, NULL);
- app_control_destroy(b);
+ app_control_destroy(app_control);
DELETE_EVAS_OBJECT(ugd->popup);
}
#include "email-view-signature-setting.h"
#include "email-view-notification.h"
-static int _setting_create(email_module_t *self, app_control_h params);
+static int _setting_create(email_module_t *self, email_params_h params);
static void _setting_resume(email_module_t *self);
static void _setting_destroy(email_module_t *self);
static void _setting_on_event(email_module_t *self, email_module_event_e event);
static int _account_init(EmailSettingUGD *ugd);
static int _account_finalize(EmailSettingUGD *ugd);
-static ViewType _parse_option(EmailSettingUGD *ugd, app_control_h service);
+static ViewType _parse_option(EmailSettingUGD *ugd, email_params_h params);
static void _account_deleted_cb(int account_id, email_setting_response_data *response, void *user_data);
static void _filter_destroy_request_cb(void *data, email_module_h module);
return 0;
}
-static int _setting_create(email_module_t *self, app_control_h params)
+static int _setting_create(email_module_t *self, email_params_h params)
{
debug_enter();
EmailSettingUGD *ugd;
return TRUE;
}
-static ViewType _parse_option(EmailSettingUGD *ugd, app_control_h service)
+static ViewType _parse_option(EmailSettingUGD *ugd, email_params_h params)
{
debug_enter();
- int ret;
- char *operation = NULL;
+ const char *operation = NULL;
ViewType ret_type = VIEW_INVALID;
- retvm_if(!service, VIEW_INVALID, "invalid parameter!");
+ retvm_if(!params, VIEW_INVALID, "invalid parameter!");
- ret = app_control_get_operation(service, &operation);
- debug_log("app_control_get_operation: %d", ret);
+ email_params_get_operation_opt(params, &operation);
debug_log("operation = %s", operation);
if (operation) {
} else if (!g_strcmp0(operation, ACCOUNT_OPERATION_VIEW)) {
debug_log("Operation ACCOUNT_OPERATION_VIEW");
- char *account_id = NULL;
int my_account_id = 0;
int i = 0;
- app_control_get_extra_data(service, ACCOUNT_DATA_ID, &account_id);
- gotom_if(!account_id, FINISH, "%s is invalid", ACCOUNT_DATA_ID);
-
- my_account_id = atoi(account_id);
- free(account_id);
+ gotom_if(!email_params_get_int(params, ACCOUNT_DATA_ID, &my_account_id),
+ FINISH, "%s is invalid", ACCOUNT_DATA_ID);
debug_log("my-account id - %d", my_account_id);
goto FINISH;
} else if (!g_strcmp0(operation, EMAIL_URI_NOTIFICATION_SETTING)) {
debug_log("Operation EMAIL_URI_NOTIFICATION_SETTING");
- char *account_id_str = NULL;
int account_id = -1;
- app_control_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id_str);
- gotom_if(!account_id_str, FINISH, "%s is invalid", ACCOUNT_DATA_ID);
+ gotom_if(!email_params_get_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id),
+ FINISH, "%s is invalid", EMAIL_BUNDLE_KEY_ACCOUNT_ID);
- account_id = atoi(account_id_str);
- FREE(account_id_str);
debug_log("EMAIL_URI_NOTIFICATION_SETTING account id: %d", account_id);
ugd->account_id = account_id;
}
} else if (!g_strcmp0(operation, EMAIL_URI_SIGNATURE_SETTING)) {
debug_log("Operation EMAIL_URI_SIGNATURE_SETTING");
- char *account_id_str = NULL;
int account_id = -1;
- app_control_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id_str);
- gotom_if(!account_id_str, FINISH, "%s is invalid", ACCOUNT_DATA_ID);
+ gotom_if(!email_params_get_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id),
+ FINISH, "%s is invalid", EMAIL_BUNDLE_KEY_ACCOUNT_ID);
- account_id = atoi(account_id_str);
- FREE(account_id_str);
debug_log("EMAIL_URI_NOTIFICATION_SETTING account id: %d", account_id);
ugd->account_id = account_id;
}
} else {
/* from ug_create */
- char *start_view_type = NULL;
- app_control_get_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, &start_view_type);
- retvm_if(!start_view_type, VIEW_INVALID, "%s is invalid", EMAIL_BUNDLE_KEY_VIEW_TYPE);
+ const char *start_view_type = NULL;
+ retvm_if(!email_params_get_str(params, EMAIL_BUNDLE_KEY_VIEW_TYPE, &start_view_type),
+ VIEW_INVALID, "%s is invalid", EMAIL_BUNDLE_KEY_VIEW_TYPE);
debug_log("VIEW_TYPE - %s", start_view_type);
if (!g_strcmp0(start_view_type, EMAIL_BUNDLE_VAL_VIEW_SETTING)) {
} else {
ret_type = VIEW_INVALID;
}
-
- free(start_view_type);
}
FINISH:
- FREE(operation);
debug_log("start view is %d", ret_type);
return ret_type;
}
static void _onoff_cb(void *data, Evas_Object *obj, void *event_info);
static void _update_notification_options_status(EmailSettingVD *vd);
static void _alert_ringtone_setup_cb(void *data, Evas_Object *obj, void *event_info);
-static void _ringtone_app_reply_cb(void *data, app_control_result_e result, app_control_h reply);
+static void _ringtone_app_reply_cb(void *data, app_control_result_e result, email_params_h reply);
static void _gl_sel_cb(void *data, Evas_Object *obj, void *event_info);
-static char *_get_alert_title(char *path);
+static char *_get_alert_title(const char *path);
static email_string_t EMAIL_SETTING_STRING_EMAIL_NOTI = {PACKAGE, "IDS_EMAIL_MBODY_EMAIL_NOTIFICATIONS"};
static email_string_t EMAIL_SETTING_STRING_EMAIL_NOTI_HELP = {PACKAGE, "IDS_EMAIL_SBODY_RECEIVE_STATUS_BAR_NOTIFICATIONS_WHEN_EMAILS_ARRIVE"};
Elm_Object_Item *it = event_info;
elm_genlist_item_selected_set(it, EINA_FALSE);
- app_control_h service = NULL;
- app_control_create(&service);
- if (service) {
- char *pa_cur_ringtone = NULL;
- char *dir_path = NULL;
- int value = -1;
-
- if (li->index == ALERT_RINGTONE_LIST_ITEM) {
- value = vd->account_data->options.default_ringtone_status;
- pa_cur_ringtone = g_strdup(vd->account_data->options.alert_ringtone_path);
+ const char *marked_mode = MYFILE_DEFAULT_RINGTON_VALUE;
+ if (!vd->account_data->options.default_ringtone_status) {
+ marked_mode = vd->account_data->options.alert_ringtone_path;
+ if (!STR_VALID(marked_mode)) {
+ marked_mode = MYFILE_SILENT_RINGTON_VALUE;
}
+ }
- if (value) {
- FREE(pa_cur_ringtone);
- pa_cur_ringtone = g_strdup("default");
- } else if (!value && !STR_VALID(pa_cur_ringtone)) {
- FREE(pa_cur_ringtone);
- pa_cur_ringtone = g_strdup(MYFILE_SILENT_RINGTON_VALUE);
- }
+ email_params_h params = NULL;
- debug_secure("pa_cur_ringtone : %s", pa_cur_ringtone);
- dir_path = g_strdup(SETTING_DEFAULT_ALERT_PATH);
- app_control_add_extra_data(service, "marked_mode", pa_cur_ringtone);
- app_control_add_extra_data(service, "path", dir_path);
- app_control_add_extra_data(service, "select_type", "SINGLE_FILE");
- app_control_add_extra_data(service, "file_type", "SOUND");
- app_control_add_extra_data(service, "title", "IDS_EMAIL_BODY_ALERT_RINGTONE_ABB");
- app_control_add_extra_data(service, "domain", PACKAGE);
- app_control_add_extra_data(service, "default", "default show");
- app_control_add_extra_data(service, "silent", "silent show");
- app_control_add_extra_data(service, "landscape", "support landscape");
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, "marked_mode", marked_mode) &&
+ email_params_add_str(params, "path", SETTING_DEFAULT_ALERT_PATH) &&
+ email_params_add_str(params, "select_type", "SINGLE_FILE") &&
+ email_params_add_str(params, "file_type", "SOUND") &&
+ email_params_add_str(params, "title", "IDS_EMAIL_BODY_ALERT_RINGTONE_ABB") &&
+ email_params_add_str(params, "domain", PACKAGE) &&
+ email_params_add_str(params, "default", "default show") &&
+ email_params_add_str(params, "silent", "silent show") &&
+ email_params_add_str(params, "landscape", "support landscape")) {
email_launched_app_listener_t listener = { 0 };
listener.cb_data = li;
listener.reply_cb = _ringtone_app_reply_cb;
- email_module_launch_app(&ugd->base, EMAIL_LAUNCH_APP_RINGTONE, service, &listener);
-
- app_control_destroy(service);
- FREE(pa_cur_ringtone);
- FREE(dir_path);
+ email_module_launch_app(&ugd->base, EMAIL_LAUNCH_APP_RINGTONE, params, &listener);
}
+
+ email_params_free(¶ms);
}
-static void _ringtone_app_reply_cb(void *data, app_control_result_e result, app_control_h reply)
+static void _ringtone_app_reply_cb(void *data, app_control_result_e result, email_params_h reply)
{
debug_enter();
EmailSettingVD *vd = li->vd;
char *ringtone_file = NULL;
- char *ringtone_path = NULL;
+ const char *ringtone_path = NULL;
- app_control_get_extra_data(reply, "result", &ringtone_path);
- if (!ringtone_path) {
+ if (!email_params_get_str(reply, "result", &ringtone_path)) {
debug_warning("ringtone path result is NULL");
return;
}
}
elm_genlist_item_update(li->it);
- FREE(ringtone_path);
FREE(ringtone_file);
_update_account_info(vd);
return NULL;
}
-static char *_get_alert_title(char *path)
+static char *_get_alert_title(const char *path)
{
debug_enter();
char *alert_title = NULL;
&(EMAIL_SETTING_STRING_OK),
_popup_ok_cb, NULL, NULL);
} else {
- app_control_h service = NULL;
- app_control_create(&service);
- if (service) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_FILTER_OPERATION,
- EMAIL_BUNDLE_VAL_FILTER_OPERATION_PS);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_FILTER_MODE, EMAIL_BUNDLE_VAL_FILTER_LIST);
+ email_params_h params = NULL;
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_FILTER_OPERATION, EMAIL_BUNDLE_VAL_FILTER_OPERATION_PS) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_FILTER_MODE, EMAIL_BUNDLE_VAL_FILTER_LIST)) {
ugd->filter = email_module_create_child(&ugd->base, EMAIL_MODULE_FILTER,
- service, &ugd->filter_listener);
- app_control_destroy(service);
+ params, &ugd->filter_listener);
}
+ email_params_free(¶ms);
}
return;
{
debug_enter();
char my_account_id_str[30] = { 0, };
- app_control_h service = NULL;
+ app_control_h app_control = NULL;
int ret;
retvm_if(!vd, 0, "vd is NULL");
EmailSettingUGD *ugd = (EmailSettingUGD *)vd->base.module;
- ret = app_control_create(&service);
- retvm_if(!service, 0, "app_control_create failed: %d", ret);
+ ret = app_control_create(&app_control);
+ retvm_if(!app_control, 0, "app_control_create failed: %d", ret);
snprintf(my_account_id_str, 30, "%d", my_account_id);
- app_control_add_extra_data(service, ACCOUNT_DATA_ID, my_account_id_str);
+ app_control_add_extra_data(app_control, ACCOUNT_DATA_ID, my_account_id_str);
- app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
- app_control_set_app_id(service, "org.tizen.google-service-account-lite");
- app_control_set_operation(service, ACCOUNT_OPERATION_VIEW);
+ app_control_set_app_id(app_control, "org.tizen.google-service-account-lite");
+ app_control_set_operation(app_control, ACCOUNT_OPERATION_VIEW);
- ret = app_control_send_launch_request(service, _google_sync_view_result_cb, vd);
+ ret = app_control_send_launch_request(app_control, _google_sync_view_result_cb, vd);
if (ret != APP_CONTROL_ERROR_NONE) {
debug_error("app_control_send_launch_request failed: %d", ret);
return 0;
}
- ugd->app_control_google_eas = service;
+ ugd->app_control_google_eas = app_control;
return 1;
}
* @brief Provides initial data pre parse arguments
*
* @param[in] data User data (Email viewer data)
- * @param[in] svc_handle App control handler to get operation and data to perform
+ * @param[in] params Email params handle to get operation and data to perform
*
* @return VIEWER_ERROR_NONE on success, otherwise VIEWER_ERROR_TYPE_E when an error occurred
*/
-int viewer_initial_data_pre_parse_arguments(void *data, app_control_h svc_handle);
+int viewer_initial_data_pre_parse_arguments(void *data, email_params_h params);
/**
* @brief Free viewer data
*
* @param[in] data User data (Email viewer data)
* @param[in] module_type Email Module type
- * @param[in] bd App control handler to create child module
+ * @param[in] params Emal params handle to create child module
* @param[in] hide If set hide webview
*
* @return Handler with suitable Email module, otherwise NULL
*/
-email_module_h viewer_create_module(void *data, email_module_type_e module_type, app_control_h bd, bool hide);
+email_module_h viewer_create_module(void *data, email_module_type_e module_type, email_params_h params, bool hide);
/**
* @brief Create Composer module
*
* @param[in] data User data (Email viewer data)
- * @param[in] bd App control handler to create child module
+ * @param[in] params Emal params handle to create child module
*
* @return Handler with Composer Email module, otherwise NULL
*/
-email_module_h viewer_create_scheduled_composer_module(void *data, app_control_h bd);
+email_module_h viewer_create_scheduled_composer_module(void *data, email_params_h params);
/**
* @brief Create Composer module
* @param[in] index Index of contact that should be displayed
*
*/
-void viewer_view_contact_detail(void *data, char *index);
+void viewer_view_contact_detail(void *data, int index);
/**
* @brief Run Composer, called from mbe selection
/* module */
email_module_h loaded_module;
- app_control_h service_handle;
int create_contact_arg;
bool is_composer_module_launched;
}
debug_secure("keyword [%s]", keyword);
- app_control_h service = NULL;
- ret = app_control_create(&service);
+ app_control_h app_control = NULL;
+ ret = app_control_create(&app_control);
debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
- ret = app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ retm_if(app_control == NULL, "app_control create failed: app_control[NULL]");
+ ret = app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
debug_log("app_control_set_launch_mode: %d", ret);
- ret = app_control_set_operation(service, APP_CONTROL_OPERATION_SEARCH);
+ ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_SEARCH);
debug_log("app_control_set_operation: %d", ret);
- ret = app_control_add_extra_data(service, "http://tizen.org/appcontrol/data/keyword", keyword);
+ ret = app_control_add_extra_data(app_control, "http://tizen.org/appcontrol/data/keyword", keyword);
debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_send_launch_request(service, NULL, NULL);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
debug_log("app_control_send_launch_request: %d", ret);
if (ret != APP_CONTROL_ERROR_NONE) {
notification_status_message_post(_("IDS_EMAIL_HEADER_UNABLE_TO_PERFORM_ACTION_ABB"));
}
- ret = app_control_destroy(service);
+ ret = app_control_destroy(app_control);
debug_log("app_control_destroy: %d", ret);
g_free(keyword);
}
debug_enter();
int ret = 0;
- app_control_h service_handle = NULL;
- ret = app_control_create(&service_handle);
- debug_log("app_control_create: %p, %d", service_handle, ret);
- retm_if((service_handle == NULL || ret < 0), "service create failed: service[NULL] or ret[< 0]");
+ app_control_h app_control = NULL;
+ ret = app_control_create(&app_control);
+ debug_log("app_control_create: %p, %d", app_control, ret);
+ retm_if((app_control == NULL || ret < 0), "app_control create failed: app_control[NULL] or ret[< 0]");
- ret = app_control_set_launch_mode(service_handle, APP_CONTROL_LAUNCH_MODE_GROUP);
+ ret = app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
debug_log("app_control_set_launch_mode: %d", ret);
- ret = app_control_set_operation(service_handle, APP_CONTROL_OPERATION_SHARE_TEXT);
+ ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_SHARE_TEXT);
debug_log("app_control_set_operation: %d", ret);
int text_len = STR_LEN(share_text);
} else {
selected_text = g_strdup(share_text);
}
- ret = app_control_add_extra_data(service_handle, APP_CONTROL_DATA_TEXT, selected_text);
+ ret = app_control_add_extra_data(app_control, APP_CONTROL_DATA_TEXT, selected_text);
debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_send_launch_request(service_handle, NULL, NULL);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
debug_log("app_control_send_launch_request: %d", ret);
if (ret != APP_CONTROL_ERROR_NONE) {
notification_status_message_post(_("IDS_EMAIL_HEADER_UNABLE_TO_PERFORM_ACTION_ABB"));
}
- ret = app_control_destroy(service_handle);
+ ret = app_control_destroy(app_control);
debug_log("app_control_destroy: %d", ret);
g_free(selected_text);
}
debug_secure("uri = [%s], cookie = [%s]", download_uri, cookie);
int ret = 0;
- app_control_h service_handle = NULL;
+ app_control_h app_control = NULL;
- ret = app_control_create(&service_handle);
- debug_log("app_control_create: %p, %d", service_handle, ret);
- retm_if((service_handle == NULL || ret < 0), "service create failed: service[NULL] or ret[< 0]");
+ ret = app_control_create(&app_control);
+ debug_log("app_control_create: %p, %d", app_control, ret);
+ retm_if((app_control == NULL || ret < 0), "app_control create failed: app_control[NULL] or ret[< 0]");
- ret = app_control_set_launch_mode(service_handle, APP_CONTROL_LAUNCH_MODE_GROUP);
+ ret = app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
debug_log("app_control_set_launch_mode: %d", ret);
- ret = app_control_set_operation(service_handle, APP_CONTROL_OPERATION_DOWNLOAD);
+ ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_DOWNLOAD);
debug_log("app_control_set_operation: %d", ret);
- ret = app_control_set_uri(service_handle, download_uri);
+ ret = app_control_set_uri(app_control, download_uri);
debug_log("app_control_set_uri: %d", ret);
if (cookie && strlen(cookie)) {
- ret = app_control_add_extra_data(service_handle, "req_http_header_field", "cookie");
+ ret = app_control_add_extra_data(app_control, "req_http_header_field", "cookie");
debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service_handle, "req_http_header_value", cookie);
+ ret = app_control_add_extra_data(app_control, "req_http_header_value", cookie);
debug_log("app_control_add_extra_data: %d", ret);
}
- ret = app_control_add_extra_data(service_handle, "mode", "silent");
+ ret = app_control_add_extra_data(app_control, "mode", "silent");
debug_log("app_control_add_extra_data: %d", ret);
const char *storage_type = "0"; /* "0": phone memory / "1": memory card */
- ret = app_control_add_extra_data(service_handle, "default_storage", storage_type);
+ ret = app_control_add_extra_data(app_control, "default_storage", storage_type);
debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service_handle, "network_bonding", "true");
+ ret = app_control_add_extra_data(app_control, "network_bonding", "true");
debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_send_launch_request(service_handle, NULL, NULL);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
debug_log("app_control_send_launch_request: %d", ret);
- app_control_destroy(service_handle);
+ app_control_destroy(app_control);
debug_log("app_control_destroy: %d", ret);
int noti_ret = notification_status_message_post(email_get_email_string("IDS_EMAIL_POP_DOWNLOADING_ING"));
_hide_view(ug_data);
- app_control_h service = NULL;
- app_control_create(&service);
- if (!service) {
- debug_log("service create failed");
- return;
- }
+ email_params_h params = NULL;
- if (next == true) {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_PREV_MSG);
- } else {
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_NEXT_MSG);
- }
- char idx[BUFSIZ] = { '\0' };
- snprintf(idx, sizeof(idx), "%d", ug_data->mail_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_INDEX, idx);
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_INDEX, ug_data->mail_id) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MSG,
+ (next ? EMAIL_BUNDLE_VAL_PREV_MSG : EMAIL_BUNDLE_VAL_NEXT_MSG))) {
- email_module_send_result(ug_data->base.module, service);
+ email_module_send_result(ug_data->base.module, params);
+ }
- app_control_destroy(service);
+ email_params_free(¶ms);
debug_leave();
}
#include "email-viewer-logic.h"
#include "email-viewer-initial-data.h"
-int viewer_initial_data_pre_parse_arguments(void *data, app_control_h svc_handle)
+int viewer_initial_data_pre_parse_arguments(void *data, email_params_h params)
{
retvm_if(!data, VIEWER_ERROR_INVALID_ARG, "Invalid parameter: data is NULL!");
- retvm_if(!svc_handle, VIEWER_ERROR_INVALID_ARG, "Invalid parameter: svc_handle is NULL!");
+ retvm_if(!params, VIEWER_ERROR_INVALID_ARG, "Invalid parameter: params is NULL!");
EmailViewerUGD *temp_data = (EmailViewerUGD *)data;
- int ret;
- char *account_id = NULL;
- char *mail_id = NULL;
- char *mailbox_id = NULL;
- char *landscape = NULL;
- char *operation = NULL;
- char *file_path = NULL;
- char *uri = NULL;
-
- ret = app_control_get_operation(svc_handle, &operation);
- debug_log_if(ret != 0, "app_control_get_operation: %d", ret);
- debug_secure("operation = %s", operation);
-
- if (operation == NULL) { /* ug called by ug_create */
- debug_log("operation: NULL");
- } else { /* ug called by appcontrol request */
- if (!g_strcmp0(operation, APP_CONTROL_OPERATION_VIEW)) {
- debug_log("operation: APP_CONTROL_OPERATION_VIEW");
- }
- G_FREE(operation);
- }
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_ACCOUNT_ID, (char **)&account_id);
- debug_log_if(ret != 0, "app_control_get_extra_data: %d", ret);
- debug_secure("account_id:%s", account_id);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_MAIL_ID, (char **)&mail_id);
- debug_log_if(ret != 0, "app_control_get_extra_data: %d", ret);
- debug_secure("mail_id:%s", mail_id);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_MAILBOX, (char **)&mailbox_id);
- debug_log_if(ret != 0, "app_control_get_extra_data: %d", ret);
- debug_secure("mailbox:%s", mailbox_id);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_FIRST_LANDSCAPE, (char **)&landscape);
- debug_log_if(ret != 0, "app_control_get_extra_data: %d", ret);
- debug_log("landscape:%s", landscape);
- ret = app_control_get_extra_data(svc_handle, EMAIL_BUNDLE_KEY_MYFILE_PATH, (char **)&file_path);
- debug_log_if(ret != 0, "app_control_get_extra_data: %d", ret);
- debug_secure("file_path:%s", file_path);
-
- ret = app_control_get_uri(svc_handle, &uri);
- debug_log_if(ret != 0, "app_control_get_uri: %d", ret);
- debug_secure("uri:%s", uri);
-
- if (landscape) {
- temp_data->isLandscape = atoi(landscape);
- G_FREE(landscape);
- }
-
- if (account_id) {
- temp_data->account_id = atoi(account_id);
+ if (email_params_get_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &temp_data->account_id)) {
viewer_create_account_data(temp_data);
temp_data->folder_list = email_engine_get_ca_mailbox_list_using_glist(temp_data->account_id);
- G_FREE(account_id);
}
+ debug_secure("account_id:%d", temp_data->account_id);
- if (mail_id) {
- temp_data->mail_id = atoi(mail_id);
- g_free(mail_id);
- }
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAIL_ID, &temp_data->mail_id);
+ debug_secure("mail_id:%d", temp_data->mail_id);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_MAILBOX, &temp_data->mailbox_id);
+ debug_secure("mailbox:%d", temp_data->mailbox_id);
+ email_params_get_int_opt(params, EMAIL_BUNDLE_KEY_FIRST_LANDSCAPE, &temp_data->isLandscape);
+ debug_log("landscape:%d", temp_data->isLandscape);
- if (mailbox_id) {
- temp_data->mailbox_id = atoi(mailbox_id);
- G_FREE(mailbox_id);
- }
+ const char *file_path = NULL;
+ const char *uri = NULL;
- if (file_path) {
- debug_log("ug called by app-service request");
+ if (email_params_get_str(params, EMAIL_BUNDLE_KEY_MYFILE_PATH, &file_path)) {
+ debug_log("ug called by app-control request");
temp_data->eml_file_path = g_strdup(file_path);
- G_FREE(file_path);
temp_data->viewer_type = EML_VIEWER;
debug_secure("eml_file_path: %s", temp_data->eml_file_path);
- } else if (uri) {
+ } else if (email_params_get_uri(params, &uri)) {
debug_log("ug called by app-control request");
if (g_str_has_prefix(uri, URI_SCHEME_FILE)) {
temp_data->eml_file_path = g_strndup(uri + strlen(URI_SCHEME_FILE), strlen(uri) - strlen(URI_SCHEME_FILE));
temp_data->viewer_type = EMAIL_VIEWER;
}
- G_FREE(uri);
-
debug_leave();
return VIEWER_ERROR_NONE;
}
DELETE_EVAS_OBJECT(ug_data->con_popup);
debug_secure("data(%s)", data);
- viewer_view_contact_detail(ug_data, (char *)data);
+ viewer_view_contact_detail(ug_data, (intptr_t)data);
debug_leave();
}
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
DELETE_EVAS_OBJECT(ug_data->con_popup);
- int ret;
- app_control_h service = NULL;
-
- ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
-
- char rtype[10] = { 0, };
- snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EDIT);
- char acctid[10] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", ug_data->account_id);
- char mailboxid[10] = { 0, };
- snprintf(mailboxid, sizeof(mailboxid), "%d", ug_data->mailbox_id);
- char mailid[10] = { 0, };
- snprintf(mailid, sizeof(mailid), "%d", ug_data->mail_id);
-
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailboxid);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_ID, mailid);
- debug_log("app_control_add_extra_data: %d", ret);
-
- ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, service, true);
-
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
+
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, RUN_COMPOSER_EDIT) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ug_data->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_ID, ug_data->mail_id)) {
+
+ ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, params, true);
+ }
+
+ email_params_free(¶ms);
+
debug_leave();
}
debug_warning("email_cancel_sending_mail failed - err(%d)", err);
DELETE_EVAS_OBJECT(ug_data->con_popup);
- int ret;
- app_control_h service = NULL;
-
- ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
-
- char rtype[10] = { 0, };
- snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EDIT);
- char acctid[10] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", ug_data->account_id);
- char mailboxid[10] = { 0, };
- snprintf(mailboxid, sizeof(mailboxid), "%d", ug_data->mailbox_id);
- char mailid[10] = { 0, };
- snprintf(mailid, sizeof(mailid), "%d", ug_data->mail_id);
-
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailboxid);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_ID, mailid);
- debug_log("app_control_add_extra_data: %d", ret);
-
- ug_data->loaded_module = viewer_create_scheduled_composer_module(ug_data, service);
-
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
+
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, RUN_COMPOSER_EDIT) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ug_data->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_ID, ug_data->mail_id)) {
+
+ ug_data->loaded_module = viewer_create_scheduled_composer_module(ug_data, params);
+ }
+
+ email_params_free(¶ms);
+
debug_leave();
}
*/
static void _viewer_more_menu_ctxpopup_back_cb(void *data, Evas_Object *obj, void *event_info);
-static int _viewer_launch_contacts_for_add_update(app_control_h *service,
+static int _viewer_launch_contacts_for_add_update(
EmailViewerUGD *ug_data,
const char *operation,
const char *contact_data,
* Definition for exported functions
*/
-static int _viewer_launch_contacts_for_add_update(app_control_h *service,
+static int _viewer_launch_contacts_for_add_update(
EmailViewerUGD *ug_data,
const char *operation,
const char *contact_data,
const char *contact_name)
{
- int ret = app_control_set_operation(*service, operation);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, -1, "app_control_set_operation failed: %d", ret);
-
- ret = app_control_set_mime(*service, EMAIL_CONTACT_MIME_SCHEME);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, -1, "app_control_set_mime failed: %d", ret);
+ const char *ext_data_key = NULL;
switch (ug_data->create_contact_arg) {
case CONTACTUI_REQ_ADD_PHONE_NUMBER:
- ret = app_control_add_extra_data(*service, EMAIL_CONTACT_EXT_DATA_PHONE, contact_data);
+ ext_data_key = EMAIL_CONTACT_EXT_DATA_PHONE;
break;
case CONTACTUI_REQ_ADD_EMAIL:
- ret = app_control_add_extra_data(*service, EMAIL_CONTACT_EXT_DATA_EMAIL, contact_data);
+ ext_data_key = EMAIL_CONTACT_EXT_DATA_EMAIL;
break;
case CONTACTUI_REQ_ADD_URL:
- ret = app_control_add_extra_data(*service, EMAIL_CONTACT_EXT_DATA_URL, contact_data);
+ ext_data_key = EMAIL_CONTACT_EXT_DATA_URL;
break;
default:
debug_error("not needed value %d", ug_data->create_contact_arg);
break;
}
- retvm_if(ret != APP_CONTROL_ERROR_NONE, -1, "app_control_add_extra_data failed: %d", ret);
- if (contact_name) {
- ret = app_control_add_extra_data(*service, EMAIL_CONTACT_EXT_DATA_NAME, contact_name);
- retvm_if(ret != APP_CONTROL_ERROR_NONE, -1, "app_control_add_extra_data failed: %d", ret);
+ int ret = -1;
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_set_operation(params, operation) &&
+ email_params_set_mime(params, EMAIL_CONTACT_MIME_SCHEME) &&
+ (!ext_data_key ||
+ email_params_add_str(params, ext_data_key, contact_data)) &&
+ (!contact_name ||
+ email_params_add_str(params, EMAIL_CONTACT_EXT_DATA_NAME, contact_name))) {
+
+ ret = email_module_launch_app(ug_data->base.module, EMAIL_LAUNCH_APP_AUTO, params, NULL);
}
- ret = email_module_launch_app(ug_data->base.module, EMAIL_LAUNCH_APP_AUTO, *service, NULL);
+ email_params_free(¶ms);
+
if (ret != 0) {
debug_error("email_module_launch_app failed: %d", ret);
return -1;
debug_secure("contact_address (%s)", contact_data);
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- app_control_h service = NULL;
- int ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
-
- ret = _viewer_launch_contacts_for_add_update(&service,
+ int ret = _viewer_launch_contacts_for_add_update(
ug_data,
APP_CONTROL_OPERATION_ADD,
contact_data,
contact_name);
-
if (ret != 0) {
debug_error("_viewer_launch_contacts_for_add_update failed: %d", ret);
}
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
debug_leave();
}
debug_secure("contact_data (%s)", contact_data);
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- app_control_h service = NULL;
- int ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
-
- ret = _viewer_launch_contacts_for_add_update(&service,
+ int ret = _viewer_launch_contacts_for_add_update(
ug_data,
APP_CONTROL_OPERATION_EDIT,
contact_data,
NULL);
-
if (ret != 0) {
debug_error("_viewer_launch_contacts_for_add_update failed: %d", ret);
}
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
debug_leave();
}
email_contact_list_info_t *contact_list_item = email_contacts_get_contact_info_by_email_address(ug_data->sender_address);
if (contact_list_item) {
debug_log("Sender address is listed in contacts DB, person ID:%d", contact_list_item->person_id);
- int index = contact_list_item->person_id;;
- char index_str[BUF_LEN_T] = { 0, };
- index = contact_list_item->person_id;
- snprintf(index_str, sizeof(index_str), "%d", index);
- ctx_menu_item = elm_ctxpopup_item_append(ug_data->con_popup, "IDS_EMAIL_OPT_VIEW_CONTACT_DETAILS_ABB", icon, viewer_ctxpopup_detail_contact_cb, g_strdup(index_str));
+ ctx_menu_item = elm_ctxpopup_item_append(ug_data->con_popup, "IDS_EMAIL_OPT_VIEW_CONTACT_DETAILS_ABB",
+ icon, viewer_ctxpopup_detail_contact_cb, (void *)contact_list_item->person_id);
} else {
debug_log("Sender address is not listed in contacts DB");
ctx_menu_item = elm_ctxpopup_item_append(ug_data->con_popup, "IDS_EMAIL_OPT_ADD_TO_CONTACTS_ABB2", icon, viewer_ctxpopup_add_contact_cb, ug_data);
if (index == 0) {
if (ug_data->recipient_contact_list_item) {
debug_log("Contact Item Exist: index[%d]", ug_data->recipient_contact_list_item->person_id);
- char index_str[BUF_LEN_T] = { 0, };
- snprintf(index_str, sizeof(index_str), "%d", ug_data->recipient_contact_list_item->person_id);
- viewer_view_contact_detail(ug_data, g_strdup(index_str));
+ viewer_view_contact_detail(ug_data, ug_data->recipient_contact_list_item->person_id);
email_contacts_delete_contact_info(&ug_data->recipient_contact_list_item);
} else {
ug_data->create_contact_arg = CONTACTUI_REQ_ADD_EMAIL;
debug_leave();
}
-static void _account_result_cb(void *data, email_module_h module, app_control_h result)
+static void _account_result_cb(void *data, email_module_h module, email_params_h result)
{
debug_enter();
retm_if(module == NULL, "Invalid parameter: module[NULL]");
retm_if(data == NULL, "Invalid parameter: data[NULL]");
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- char *temp = NULL;
+
int is_move_mail_ug = 0;
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &temp);
- is_move_mail_ug = atoi(temp);
- FREE(temp);
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, &is_move_mail_ug);
if (is_move_mail_ug) {
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, &temp);
- int move_status = (int)atoi(temp);
- FREE(temp);
+ int move_status = 0;
+ email_params_get_int_opt(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_STATUS, &move_status);
+
if (move_status == EMAIL_ERROR_NONE) {
- app_control_get_extra_data(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, &temp);
char str[BUF_LEN_L] = { 0, };
- if (temp) {
- snprintf(str, sizeof(str), email_get_email_string("IDS_EMAIL_TPOP_1_EMAIL_MOVED_TO_PS"), temp);
+ const char *mailbox_name = NULL;
+ if (email_params_get_str(result, EMAIL_BUNDLE_KEY_MAILBOX_MOVED_MAILBOX_NAME, &mailbox_name)) {
+ snprintf(str, sizeof(str), email_get_email_string("IDS_EMAIL_TPOP_1_EMAIL_MOVED_TO_PS"), mailbox_name);
} else {
snprintf(str, sizeof(str), "%s", email_get_email_string("IDS_EMAIL_TPOP_1_EMAIL_MOVED_TO_SELECTED_FOLDER"));
}
int ret = notification_status_message_post(str);
debug_warning_if(ret != NOTIFICATION_ERROR_NONE, "notification_status_message_post() failed! ret:(%d)", ret);
- FREE(temp);
ug_data->move_status = move_status;
}
}
}
}
-email_module_h viewer_create_module(void *data, email_module_type_e module_type, app_control_h bd, bool hide)
+email_module_h viewer_create_module(void *data, email_module_type_e module_type, email_params_h params, bool hide)
{
debug_enter();
retvm_if(data == NULL, NULL, "Invalid parameter: data[NULL]");
if (hide) viewer_hide_webview(ug_data);
- email_module_h module = email_module_create_child(ug_data->base.module, module_type, bd, &listener);
+ email_module_h module = email_module_create_child(ug_data->base.module, module_type, params, &listener);
if (ug_data->base.content)
elm_object_tree_focus_allow_set(ug_data->base.content, EINA_FALSE);
return module;
}
-email_module_h viewer_create_scheduled_composer_module(void *data, app_control_h bd)
+email_module_h viewer_create_scheduled_composer_module(void *data, email_params_h params)
{
debug_enter();
retvm_if(data == NULL, NULL, "Invalid parameter: data[NULL]");
viewer_hide_webview(ug_data);
email_module_h module = email_module_create_child(ug_data->base.module,
- EMAIL_MODULE_COMPOSER, bd, &listener);
+ EMAIL_MODULE_COMPOSER, params, &listener);
if (ug_data->base.content)
elm_object_tree_focus_allow_set(ug_data->base.content, EINA_FALSE);
debug_secure("link_url (%s)", link_url);
int ret = APP_CONTROL_ERROR_NONE;
- app_control_h service = NULL;
- ret = app_control_create(&service);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "service create failed: service[NULL]");
+ app_control_h app_control = NULL;
+ ret = app_control_create(&app_control);
+ retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control create failed: app_control[NULL]");
- ret = app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ ret = app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
debug_log("app_control_set_launch_mode: %d", ret);
- ret = app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
+ ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_VIEW);
debug_log("app_control_set_operation: %d", ret);
- ret = app_control_set_uri(service, link_url);
+ ret = app_control_set_uri(app_control, link_url);
debug_log("app_control_set_uri: %d", ret);
- ret = app_control_send_launch_request(service, NULL, NULL);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
debug_log("app_control_send_launch_request: %d", ret);
if (ret != APP_CONTROL_ERROR_NONE) {
notification_status_message_post(_("IDS_EMAIL_HEADER_UNABLE_TO_PERFORM_ACTION_ABB"));
}
- ret = app_control_destroy(service);
+ ret = app_control_destroy(app_control);
debug_log("app_control_destroy: %d", ret);
debug_leave();
retm_if(email_address == NULL, "Invalid parameter: email_address[NULL]");
debug_secure("email_address (%s)", email_address);
int scheme_length = strlen(URI_SCHEME_MAILTO);
- int ret = APP_CONTROL_ERROR_NONE;
- app_control_h service = NULL;
-
- ret = app_control_create(&service);
- retm_if(ret != APP_CONTROL_ERROR_NONE, "service create failed: service[NULL]");
+ email_params_h params = NULL;
- char rtype[BUF_LEN_T] = { 0, };
- snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EXTERNAL);
-
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_add_extra_data failed: %d: ", ret);
- app_control_destroy(service);
- return;
- }
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, RUN_COMPOSER_EXTERNAL),
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_TO, &email_address[scheme_length])) {
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_TO, &email_address[scheme_length]);
- if (ret != APP_CONTROL_ERROR_NONE) {
- debug_error("app_control_add_extra_data failed: %d: ", ret);
- app_control_destroy(service);
- return;
+ ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, params, ug_data);
}
- ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, service, ug_data);
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
+ email_params_free(¶ms);
debug_leave();
-
}
email_ext_save_err_type_e viewer_save_attachment_in_downloads(EV_attachment_data *aid, gboolean(*copy_file_cb) (void *data, float percentage))
{
debug_enter();
int ret = APP_CONTROL_ERROR_NONE;
- app_control_h svc_handle = NULL;
+ app_control_h app_control = NULL;
- ret = app_control_create(&svc_handle);
- debug_warning_if((ret != APP_CONTROL_ERROR_NONE || !svc_handle), "app_control_create() failed! ret:[%d]", ret);
+ ret = app_control_create(&app_control);
+ debug_warning_if((ret != APP_CONTROL_ERROR_NONE || !app_control), "app_control_create() failed! ret:[%d]", ret);
/* Do make prerequisites. */
- ret = app_control_set_launch_mode(svc_handle, APP_CONTROL_LAUNCH_MODE_GROUP);
+ ret = app_control_set_launch_mode(app_control, APP_CONTROL_LAUNCH_MODE_GROUP);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_set_launch_mode() failed! ret:[%d]", ret);
- /* Set some service data for launching application. */
- ret = app_control_set_app_id(svc_handle, "setting-storage-efl");
+ /* Set some data for launching application. */
+ ret = app_control_set_app_id(app_control, "setting-storage-efl");
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_set_app_id() failed! ret:[%d]", ret);
/* Launch application */
- ret = app_control_send_launch_request(svc_handle, NULL, ug_data);
+ ret = app_control_send_launch_request(app_control, NULL, ug_data);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_send_launch_request() failed! ret:[%d]", ret);
if (ret != APP_CONTROL_ERROR_NONE) {
notification_status_message_post(_("IDS_EMAIL_HEADER_UNABLE_TO_PERFORM_ACTION_ABB"));
}
- ret = app_control_destroy(svc_handle);
+ ret = app_control_destroy(app_control);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_destroy() failed! ret:[%d]", ret);
debug_leave();
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- int ret;
- app_control_h service = NULL;
-
- ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
-
- char rtype[10] = { 0, };
- snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EXTERNAL);
-
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_TO, email_address);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_CC, NULL);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_BCC, NULL);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_SUBJECT, NULL);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_BODY, NULL);
- debug_log("app_control_add_extra_data: %d", ret);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ATTACHMENT, NULL);
- debug_log("app_control_add_extra_data: %d", ret);
-
- ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, service, true);
-
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, RUN_COMPOSER_EXTERNAL) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_TO, email_address)) {
+
+ ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, params, true);
+ }
+
+ email_params_free(¶ms);
+
debug_leave();
}
-void viewer_view_contact_detail(void *data, char *index)
+void viewer_view_contact_detail(void *data, int index)
{
debug_enter();
retm_if(data == NULL, "Invalid parameter: data[NULL]");
- retm_if(index == NULL, "Invalid parameter: index[NULL]");
debug_secure("index (%s)", index);
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- app_control_h service = NULL;
-
- int ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
+ email_params_h params = NULL;
+ int ret = -1;
- ret = app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
- debug_log("app_control_set_mime: %d", ret);
+ if (email_params_create(¶ms) &&
+ email_params_set_operation(params, APP_CONTROL_OPERATION_VIEW) &&
+ email_params_set_mime(params, EMAIL_CONTACT_MIME_SCHEME) &&
+ email_params_add_int(params, EMAIL_CONTACT_EXT_DATA_ID, index)) {
- ret = app_control_set_mime(service, EMAIL_CONTACT_MIME_SCHEME);
- debug_log("app_control_set_mime: %d", ret);
+ ret = email_module_launch_app(ug_data->base.module, EMAIL_LAUNCH_APP_AUTO, params, NULL);
+ }
- ret = app_control_add_extra_data(service, EMAIL_CONTACT_EXT_DATA_ID, index);
- debug_log("app_control_add_extra_data: %d", ret);
+ email_params_free(¶ms);
- ret = email_module_launch_app(ug_data->base.module, EMAIL_LAUNCH_APP_AUTO, service, NULL);
if (ret != 0) {
notification_status_message_post(_("IDS_EMAIL_HEADER_UNABLE_TO_PERFORM_ACTION_ABB"));
}
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
- g_free(index);
-
debug_leave();
}
retm_if(data == NULL, "Invalid parameter: data[NULL]");
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
retm_if(ug_data->mail_info == NULL, "Invalid parameter: mail_info[NULL]");
- char tmp[PATH_MAX] = {0, };
- int ret;
- app_control_h service = NULL;
-
- ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed : service[NULL]");
-
- char rtype[10] = { 0, };
- snprintf(rtype, sizeof(rtype), "%d", type);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
- debug_log("app_control_add_extra_data: %d", ret);
-
- memset(tmp, 0x0, sizeof(tmp));
- snprintf(tmp, sizeof(tmp), "%d", ug_data->account_id);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, tmp);
- debug_log("app_control_add_extra_data: %d", ret);
-
- memset(tmp, 0x0, sizeof(tmp));
- snprintf(tmp, sizeof(tmp), "%d", ug_data->mailbox_id);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, tmp);
- debug_log("app_control_add_extra_data: %d", ret);
-
- memset(tmp, 0x0, sizeof(tmp));
- snprintf(tmp, sizeof(tmp), "%d", ug_data->mail_id);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_ID, tmp);
- debug_log("app_control_add_extra_data: %d", ret);
-
- if (type == RUN_EML_REPLY || type == RUN_EML_REPLY_ALL || type == RUN_EML_FORWARD) {
- memset(tmp, 0x0, sizeof(tmp));
- snprintf(tmp, sizeof(tmp), "%s", ug_data->eml_file_path);
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MYFILE_PATH, tmp);
- debug_log("app_control_add_extra_data: %d", ret);
+ email_params_h params = NULL;
+
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_RUN_TYPE, type) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ug_data->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAIL_ID, ug_data->mail_id) &&
+ ((type != RUN_EML_REPLY && type != RUN_EML_REPLY_ALL && type != RUN_EML_FORWARD) ||
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MYFILE_PATH, ug_data->eml_file_path))) {
+
+ ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, params, true);
}
- ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_COMPOSER, service, true);
+ email_params_free(¶ms);
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
debug_leave();
}
/* Header Include */
#include <utils_i18n.h>
-#include <app_control.h>
#include <malloc.h>
#include <notification.h>
static email_string_t EMAIL_VIEWER_STRING_NULL = { NULL, NULL };
/* module */
-static int _viewer_module_create(email_module_t *self, app_control_h params);
-static void _viewer_module_on_message(email_module_t *self, app_control_h msg);
+static int _viewer_module_create(email_module_t *self, email_params_h params);
+static void _viewer_module_on_message(email_module_t *self, email_params_h msg);
static void _viewer_module_on_event(email_module_t *self, email_module_event_e event);
/* view */
void viewer_back_key_press_handler(EmailViewerUGD *ug_data)
{
debug_enter();
- int ret = APP_CONTROL_ERROR_NONE;
-
- if (ug_data->service_handle) {
- ret = app_control_send_terminate_request(ug_data->service_handle);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_send_terminate_request() failed! ret:[%d]", ret);
-
- ret = app_control_destroy(ug_data->service_handle);
- debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_destroy() failed! ret:[%d]", ret);
- ug_data->service_handle = NULL;
- }
if (ug_data->b_load_finished == EINA_FALSE) {
debug_log("b_load_finished is not yet done");
return VIEWER_ERROR_NONE;
}
-int _viewer_module_create(email_module_t *self, app_control_h params)
+int _viewer_module_create(email_module_t *self, email_params_h params)
{
debug_enter();
retvm_if(!self, -1, "Invalid parameter: self is NULL!");
viewer_initialize_data(ug_data);
if (!params) {
- debug_log("service handle is NULL");
+ debug_log("params handle is NULL");
ug_data->eViewerErrorType = VIEWER_ERROR_INVALID_ARG;
}
debug_leave();
}
-void _viewer_module_on_message(email_module_t *self, app_control_h msg)
+void _viewer_module_on_message(email_module_t *self, email_params_h msg)
{
debug_enter();
retm_if(!self, "Invalid parameter: self is NULL!");
bool wait_for_composer = false;
- char *msg_type = NULL;
- app_control_get_extra_data(msg, EMAIL_BUNDLE_KEY_MSG, &(msg_type));
+ const char *msg_type = NULL;
+ email_params_get_str_opt(msg, EMAIL_BUNDLE_KEY_MSG, &msg_type);
if (ug_data->loaded_module && ug_data->is_composer_module_launched) {
- int ret;
- app_control_h service = NULL;
+ email_params_h params = NULL;
- ret = app_control_create(&service);
- debug_log("app_control_create: %d", ret);
- retm_if(service == NULL, "service create failed: service[NULL]");
+ if (email_params_create(¶ms) &&
+ email_params_add_str(params, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_EMAIL_COMPOSER_SAVE_DRAFT)) {
- ret = app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_EMAIL_COMPOSER_SAVE_DRAFT);
- debug_log("app_control_add_extra_data: %d", ret);
-
- email_module_send_message(ug_data->loaded_module, service);
-
- ret = app_control_destroy(service);
- debug_log("app_control_destroy: %d", ret);
+ email_module_send_message(ug_data->loaded_module, params);
+ }
+ email_params_free(¶ms);
wait_for_composer = true;
}
if (g_strcmp0(msg_type, EMAIL_BUNDLE_VAL_VIEWER_DESTROY_VIEW) == 0) {
debug_log("Email viewer need to be closed");
- FREE(msg_type);
if (wait_for_composer) {
ug_data->need_pending_destroy = EINA_TRUE;
} else {
if (g_strcmp0(msg_type, EMAIL_BUNDLE_VAL_VIEWER_RESTORE_VIEW) == 0) {
debug_log("Restore Email viewer");
_reset_view(ug_data, EINA_TRUE);
- FREE(msg_type);
return;
}
- FREE(msg_type);
-
debug_log("Hide previous mail data");
_hide_view(ug_data);
retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "Invalid parameter: data[NULL]");
EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
- app_control_h svc_handle = NULL;
+ app_control_h app_control = NULL;
int ret = APP_CONTROL_ERROR_NONE;
- ret = app_control_create(&svc_handle);
- retvm_if((ret != APP_CONTROL_ERROR_NONE || !svc_handle), ECORE_CALLBACK_CANCEL, "app_control_create() failed! ret:[%d]", ret);
+ ret = app_control_create(&app_control);
+ retvm_if((ret != APP_CONTROL_ERROR_NONE || !app_control), ECORE_CALLBACK_CANCEL, "app_control_create() failed! ret:[%d]", ret);
- ret = app_control_add_extra_data(svc_handle, EMAIL_BUNDLE_KEY_RUN_TYPE, "9"); /* RUN_SETTING_ACCOUNT_ADD */
+ ret = app_control_add_extra_data(app_control, EMAIL_BUNDLE_KEY_RUN_TYPE, "9"); /* RUN_SETTING_ACCOUNT_ADD */
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_add_extra_data() failed! ret:[%d]", ret);
- ret = app_control_set_app_id(svc_handle, PKGNAME);
+ ret = app_control_set_app_id(app_control, PKGNAME);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_set_app_id() failed! ret:[%d]", ret);
/* Launch application */
- ret = app_control_send_launch_request(svc_handle, NULL, NULL);
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_send_launch_request() failed! ret:[%d]", ret);
- ret = app_control_destroy(svc_handle);
+ ret = app_control_destroy(app_control);
debug_warning_if(ret != APP_CONTROL_ERROR_NONE, "app_control_destroy() failed! ret:[%d]", ret);
ug_data->launch_timer = NULL;
retvm_if(ug_data == NULL, EINA_FALSE, "Invalid parameter: ug_data[NULL]");
ug_data->loaded_module = NULL;
- ug_data->service_handle = NULL;
ug_data->main_w = 0;
ug_data->main_h = 0;
DELETE_EVAS_OBJECT(ug_data->con_popup);
- int mail_list_length = 1;
- char **selected_mail_list = (char **)malloc(mail_list_length * sizeof(char *));
- retm_if(!selected_mail_list, "selected_mail_list is NULL!");
+ char s_mail_id[EMAIL_BUFF_SIZE_SML] = { 0 };
+ const char *sa_mail_id = s_mail_id;
+ snprintf(s_mail_id, EMAIL_BUFF_SIZE_SML, "%d", ug_data->mail_id);
- const int BUF_LEN = 30;
- selected_mail_list[0] = (char *)malloc(BUF_LEN * sizeof(char));
- if (!selected_mail_list[0]) {
- debug_error("selected_mail_list[0] is NULL - allocation memory failed");
- free(selected_mail_list);
- return;
- }
- snprintf(selected_mail_list[0], BUF_LEN, "%d", ug_data->mail_id);
+ email_params_h params = NULL;
- app_control_h service;
- if (APP_CONTROL_ERROR_NONE != app_control_create(&service)) {
- debug_log("creating service handle failed");
- free(selected_mail_list[0]);
- free(selected_mail_list);
- return;
+ if (email_params_create(¶ms) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_ACCOUNT_ID, ug_data->account_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX, ug_data->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, ug_data->mailbox_id) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, 1) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, 0) &&
+ email_params_add_int(params, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, 0) &&
+ email_params_add_str_array(params, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS, &sa_mail_id, 1)) {
+
+ ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_ACCOUNT, params, false);
}
- char acctid[30] = { 0, };
- snprintf(acctid, sizeof(acctid), "%d", ug_data->account_id);
- char mailboxid[30] = { 0, };
- snprintf(mailboxid, sizeof(mailboxid), "%d", ug_data->mailbox_id);
- char move_ug[30] = { 0, };
- snprintf(move_ug, sizeof(move_ug), "%d", 1);
- char move_mode[30] = { 0, };
- snprintf(move_mode, sizeof(move_mode), "%d", 0);
- debug_log("setting move mode %s", move_mode);
- char mailbox_edit_mode[30] = { 0, };
- snprintf(mailbox_edit_mode, sizeof(mailbox_edit_mode), "%d", 0);
- char move_src_mailbox_id[30] = { 0, };
- snprintf(move_src_mailbox_id, sizeof(move_src_mailbox_id), "%d", ug_data->mailbox_id);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, acctid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailboxid);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_MOVE_UG, move_ug);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_MOVE_MODE, move_mode);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_MAILBOX_EDIT_MODE, mailbox_edit_mode);
- app_control_add_extra_data(service, EMAIL_BUNDLE_KEY_MOVE_SRC_MAILBOX_ID, move_src_mailbox_id);
- app_control_add_extra_data_array(service, EMAIL_BUNDLE_KEY_ARRAY_SELECTED_MAIL_IDS, (const char **)selected_mail_list, mail_list_length);
- debug_log("account_id: %s, mailbox_id: %s, mail_id: %s", acctid, mailboxid, selected_mail_list[0]);
-
- ug_data->loaded_module = viewer_create_module(ug_data, EMAIL_MODULE_ACCOUNT, service, false);
- app_control_destroy(service);
-
- free(selected_mail_list[0]);
- free(selected_mail_list);
+ email_params_free(¶ms);
+
debug_leave();
}