add feature 02/136102/2 accepted/tizen/4.0/unified/20170816.010357 accepted/tizen/4.0/unified/20170816.014152 accepted/tizen/unified/20170703.064226 submit/tizen/20170630.043055 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170814.115522 submit/tizen_4.0_unified/20170814.115522
authorJeesun Kim <iamjs.kim@samsung.com>
Wed, 28 Jun 2017 05:38:48 +0000 (14:38 +0900)
committerJeesun Kim <iamjs.kim@samsung.com>
Fri, 30 Jun 2017 04:29:01 +0000 (13:29 +0900)
Signed-off-by: Jeesun Kim <iamjs.kim@samsung.com>
Change-Id: I36b8d248d6e245e94dc39f15c316a3ea4c4185ca

email-api/CMakeLists.txt
email-api/email-api-account.c
email-api/email-api-etc.c
email-api/email-api-init.c
email-api/email-api-mail.c
email-api/email-api-mailbox.c
email-api/email-api-network.c
email-api/email-api-rule.c
email-api/email-api-smime.c
email-api/include/email-api-private.h [new file with mode: 0644]
packaging/email-service.spec

index 15ad244..e8dfaec 100755 (executable)
@@ -17,11 +17,11 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections")
 
 ##########################################################
-# Define Email API   
+# Define Email API
 ##########################################################
 
 SET(API-LIB "email-api")
-SET(API-SRCS 
+SET(API-SRCS
        ${CMAKE_SOURCE_DIR}/email-api/email-api-account.c
        ${CMAKE_SOURCE_DIR}/email-api/email-api-mail.c
        ${CMAKE_SOURCE_DIR}/email-api/email-api-network.c
@@ -43,7 +43,7 @@ INCLUDE_DIRECTORIES(
 )
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(api_pkgs REQUIRED glib-2.0 dlog dbus-1 vconf contacts-service2 uw-imap-toolkit gmime-2.6
+pkg_check_modules(api_pkgs REQUIRED glib-2.0 dlog dbus-1 vconf contacts-service2 uw-imap-toolkit gmime-2.6 capi-system-info)
 
 FOREACH(flag ${api_pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -79,11 +79,11 @@ SET(EMAIL-API-HEADERS
 INSTALL(FILES ${EMAIL-API-HEADERS} DESTINATION include/email-service)
 
 ##########################################################
-# Define Email SMIME API   
+# Define Email SMIME API
 ##########################################################
 
 SET(SMIME-API-LIB "email-smime-api")
-SET(SMIME-API-SRCS 
+SET(SMIME-API-SRCS
        ${CMAKE_SOURCE_DIR}/email-api/email-api-smime.c
 )
 
@@ -92,7 +92,7 @@ INCLUDE_DIRECTORIES(
 )
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(smime_api_pkgs REQUIRED glib-2.0 dlog) 
+pkg_check_modules(smime_api_pkgs REQUIRED glib-2.0 dlog)
 
 FOREACH(flag ${smime_api_pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
index b7af867..1981b65 100755 (executable)
 #include "email-utilities.h"
 #include "email-ipc.h"
 #include "email-dbus-activation.h"
+#include "email-api-private.h"
 
 /* API - Adds the Email Account */
 EXPORT_API int email_add_account(email_account_t* account)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account[%p]", account);
        int size = 0;
        int err = EMAIL_ERROR_NONE;
@@ -154,6 +156,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_account(email_account_t** account_list, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("account_list[%p] count[%d]", account_list, count); /* use only debugging */
 
        /*  default variable */
@@ -199,6 +202,7 @@ FINISH_OFF:
 /* API - Delete  the Email Account */
 EXPORT_API int email_delete_account(int account_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d]", account_id);
 
        int ret = 0;
@@ -246,6 +250,7 @@ EXPORT_API int email_delete_account(int account_id)
 /* API - Update  the Email Account */
 EXPORT_API int email_update_account(int account_id, email_account_t* new_account)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] new_account[%p]", account_id, new_account);
 
        int size = 0;
@@ -303,6 +308,7 @@ FINISH_OFF:
 /* API - Update  the Email Account */
 EXPORT_API int email_update_account_with_validation(int account_id, email_account_t* new_account)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] new_account[%p]", account_id, new_account);
 
        int size = 0;
@@ -367,6 +373,7 @@ EXPORT_API int email_update_account_with_validation(int account_id, email_accoun
 /* API - Get the account Information based on the account ID */
 EXPORT_API int email_get_account(int account_id, int pulloption, email_account_t** account)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("account_id[%d] pulloption[%d]", account_id, pulloption);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -421,6 +428,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_account_list(email_account_t** account_list, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN();
 
        int err = EMAIL_ERROR_NONE, i = 0;
@@ -470,6 +478,7 @@ FINISH_OFF:
 
 EXPORT_API int email_validate_account(int account_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] handle[%p]", account_id, handle);
 
        int ret = 0;
@@ -515,6 +524,7 @@ EXPORT_API int email_validate_account(int account_id, int *handle)
 
 EXPORT_API int email_validate_account_ex(email_account_t* account, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account[%p]", account);
        char* local_account_stream = NULL;
        int ret = -1;
@@ -566,6 +576,7 @@ EXPORT_API int email_validate_account_ex(email_account_t* account, int *handle)
 
 EXPORT_API int email_add_account_with_validation(email_account_t* account, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account[%p]", account);
        char* local_account_stream = NULL;
        int ret = -1;
@@ -648,6 +659,7 @@ FINISH_OFF:
 /* LCOV_EXCL_START */
 EXPORT_API int email_backup_accounts_into_secure_storage(const char *file_name)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("file_name[%p]", file_name);
 
        int ret = 0;
@@ -706,6 +718,7 @@ FINISH_OFF:
 
 EXPORT_API int email_restore_accounts_from_secure_storage(const char * file_name)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("file_name[%p]", file_name);
        int ret = 0;
        int err = EMAIL_ERROR_NONE;
@@ -743,6 +756,7 @@ EXPORT_API int email_restore_accounts_from_secure_storage(const char * file_name
 /* LCOV_EXCL_STOP */
 EXPORT_API int email_get_password_length_of_account(int account_id, email_get_password_length_type password_type, int *password_length)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] password_length[%p]", account_id, password_length);
        int ret = 0;
        int err = EMAIL_ERROR_NONE;
@@ -795,6 +809,7 @@ EXPORT_API int email_get_password_length_of_account(int account_id, email_get_pa
 
 EXPORT_API int email_update_notification_bar(int account_id, int total_mail_count, int unread_mail_count, int input_from_eas)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] total_mail_count[%d] unread_mail_count[%d]", account_id, total_mail_count, unread_mail_count);
        int err = EMAIL_ERROR_NONE;
 
@@ -864,6 +879,7 @@ EXPORT_API int email_update_notification_bar(int account_id, int total_mail_coun
 
 EXPORT_API int email_clear_all_notification_bar()
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
     EM_DEBUG_API_BEGIN();
        int err = EMAIL_ERROR_NONE;
        int account_id = ALL_ACCOUNT;
@@ -899,6 +915,7 @@ EXPORT_API int email_clear_all_notification_bar()
 
 EXPORT_API int email_clear_notification_bar(int account_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int err = EMAIL_ERROR_NONE;
 
@@ -938,6 +955,7 @@ EXPORT_API int email_clear_notification_bar(int account_id)
 
 EXPORT_API int email_save_default_account_id(int input_account_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id [%d]", input_account_id);
        int err = EMAIL_ERROR_NONE;
 
@@ -976,6 +994,7 @@ EXPORT_API int email_save_default_account_id(int input_account_id)
 
 EXPORT_API int email_load_default_account_id(int *output_account_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("output_account_id[%p]", output_account_id);
 
        int err = EMAIL_ERROR_NONE;
index baa66a9..0268be5 100644 (file)
 #include "email-convert.h"
 #include "email-utilities.h"
 #include "email-core-gmime.h"
+#include "email-api-private.h"
 
 EXPORT_API int email_show_user_message(int id, email_action_t action, int error_code)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("id[%d] action[%d] error_code[%d]", id, action, error_code);
        int err = EMAIL_ERROR_NONE;
 
@@ -93,6 +95,7 @@ EXPORT_API int email_show_user_message(int id, email_action_t action, int error_
 EXPORT_API int email_parse_mime_file(char *eml_file_path, email_mail_data_t **output_mail_data,
                                                                        email_attachment_data_t **output_attachment_data, int *output_attachment_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("eml_file_path[%p] output_mail_data[%p] output_attachment_data[%p]",
                                                eml_file_path, output_mail_data, output_attachment_data);
        int err = EMAIL_ERROR_NONE;
@@ -111,6 +114,7 @@ EXPORT_API int email_write_mime_file(email_mail_data_t *input_mail_data,
                                                                        email_attachment_data_t *input_attachment_data,
                                                                        int input_attachment_count, char **output_file_path)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_data[%p] input_attachment_data[%p] input_attachment_count[%d]",
                                                input_mail_data, input_attachment_data, input_attachment_count);
 
@@ -163,6 +167,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_parsed_data(email_mail_data_t *input_mail_data)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_data[%p]", input_mail_data);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -185,6 +190,7 @@ EXPORT_API int email_delete_parsed_data(email_mail_data_t *input_mail_data)
 
 EXPORT_API int email_get_mime_entity(char *mime_path, char **mime_entity)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mime_path[%p]", mime_path);
        int err = EMAIL_ERROR_NONE;
 
@@ -199,6 +205,7 @@ EXPORT_API int email_get_mime_entity(char *mime_path, char **mime_entity)
 
 EXPORT_API int email_verify_email_address(char *input_email_address)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_email_address[%p]", input_email_address);
        int err = EMAIL_ERROR_NONE;
 
@@ -213,6 +220,7 @@ EXPORT_API int email_verify_email_address(char *input_email_address)
 
 EXPORT_API int email_convert_mutf7_to_utf8(const char *mutf7_str, char **utf8_str)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mutf7_str[%p]", mutf7_str);
        int err = EMAIL_ERROR_NONE;
 
index 79d2e73..06d2ec5 100644 (file)
  *                     email-service .
  */
 
-#include "string.h"
+#include <sqlite3.h>
+#include <gio/gio.h>
+#include <string.h>
+
 #include "email-convert.h"
 #include "email-storage.h"
 #include "email-ipc.h"
 #include "email-utilities.h"
 #include "email-dbus-activation.h"
 #include "email-core-container.h"
-#include <sqlite3.h>
-#include <gio/gio.h>
+#include "email-api-private.h"
 
 EXPORT_API int email_open_db(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int error = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -64,6 +67,7 @@ EXPORT_API int email_open_db(void)
 
 EXPORT_API int email_close_db(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int error = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -85,6 +89,7 @@ EXPORT_API int email_close_db(void)
 
 EXPORT_API int email_service_begin(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int ret = -1;
 
@@ -102,6 +107,7 @@ extern GCancellable *cancel;
 
 EXPORT_API int email_service_end(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int ret = -1;
 
@@ -121,6 +127,7 @@ EXPORT_API int email_service_end(void)
 /* LCOV_EXCL_START */
 EXPORT_API int email_init_storage(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int error = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -142,6 +149,7 @@ EXPORT_API int email_init_storage(void)
 /* LCOV_EXCL_STOP */
 EXPORT_API int email_ping_service(void)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int error = EMAIL_ERROR_NONE;
        HIPC_API hAPI = emipc_create_email_api(_EMAIL_API_PING_SERVICE);
index ffcf793..d536cd4 100644 (file)
 #include <stdlib.h>
 #include <time.h>
 #include <string.h>
+
 #include "email-ipc.h"
 #include "email-api-init.h"
 #include "email-api-mailbox.h"
+#include "email-api-private.h"
 #include "email-convert.h"
 #include "email-core-tasks.h"
 #include "email-core-utils.h"
@@ -56,6 +58,7 @@
 
 EXPORT_API int email_add_mail(email_mail_data_t *input_mail_data, email_attachment_data_t *input_attachment_data_list, int input_attachment_count, email_meeting_request_t* input_meeting_request, int input_from_eas)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_data[%p] input_attachment_data_list[%p] input_attachment_count[%d] input_meeting_request[%p] input_from_eas[%d]", input_mail_data, input_attachment_data_list, input_attachment_count, input_meeting_request, input_from_eas);
 
        EM_IF_NULL_RETURN_VALUE(input_mail_data,               EMAIL_ERROR_INVALID_PARAM);
@@ -207,6 +210,7 @@ FINISH_OFF:
 
 EXPORT_API int email_add_read_receipt(int input_read_mail_id, int *output_receipt_mail_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_read_mail_id[%d] output_receipt_mail_id[%p]", input_read_mail_id, output_receipt_mail_id);
 
        EM_IF_NULL_RETURN_VALUE(output_receipt_mail_id, EMAIL_ERROR_INVALID_PARAM);
@@ -253,6 +257,7 @@ EXPORT_API int email_add_read_receipt(int input_read_mail_id, int *output_receip
 #define TMP_BODY_PATH "/tmp/UTF-8"
 EXPORT_API int email_create_db_full()
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        int mailbox_index, mail_index, mailbox_count, mail_slot_size;
        int account_id = 0;
        emstorage_mail_tbl_t mail_table_data = {0};
@@ -329,6 +334,7 @@ FINISH_OFF:
 
 EXPORT_API int email_update_mail(email_mail_data_t *input_mail_data, email_attachment_data_t *input_attachment_data_list, int input_attachment_count, email_meeting_request_t* input_meeting_request, int input_from_eas)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_data[%p] input_attachment_data_list[%p] input_attachment_count[%d] input_meeting_request[%p] input_from_eas[%d]", input_mail_data, input_attachment_data_list, input_attachment_count, input_meeting_request, input_from_eas);
 
        EM_IF_NULL_RETURN_VALUE(input_mail_data,               EMAIL_ERROR_INVALID_PARAM);
@@ -446,6 +452,7 @@ FINISH_OFF:
 
 EXPORT_API int email_update_mail_attribute(int input_account_id, int *input_mail_id_array, int input_mail_id_count, email_mail_attribute_type input_attribute_type, email_mail_attribute_value_t input_value)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d] input_mail_id_array[%p] input_mail_id_count[%d] input_attribute_type[%d]", input_account_id, input_mail_id_array, input_mail_id_count, input_attribute_type);
 
        int err = EMAIL_ERROR_NONE;
@@ -487,6 +494,7 @@ FINISH_OFF:
 /* LCOV_EXCL_START */
 EXPORT_API int email_clear_mail_data()
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int err = EMAIL_ERROR_NONE;
 
@@ -511,6 +519,7 @@ EXPORT_API int email_clear_mail_data()
 
 EXPORT_API int email_count_mail(email_list_filter_t *input_filter_list, int input_filter_count, int *output_total_mail_count, int *output_unseen_mail_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_filter_list[%p] input_filter_count[%d] output_total_mail_count[%p] output_unseen_mail_count[%p]", input_filter_list, input_filter_count, output_total_mail_count, output_unseen_mail_count);
 
        int total_count = 0;
@@ -553,6 +562,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_mail(int input_mailbox_id, int *input_mail_ids, int input_num, int input_from_server)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_mail_ids[%p] input_num[%d] input_from_server[%d]", input_mailbox_id, input_mail_ids, input_num, input_from_server);
 
        int err = EMAIL_ERROR_NONE;
@@ -639,6 +649,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_all_mails_in_mailbox(int input_mailbox_id, int input_from_server)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_from_server[%d]", input_mailbox_id, input_from_server);
 
        int err = EMAIL_ERROR_NONE;
@@ -697,6 +708,7 @@ FINISH_OFF:
 
 EXPORT_API int email_add_attachment(int mail_id, email_attachment_data_t* attachment)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] attachment[%p]", mail_id, attachment);
        int err = EMAIL_ERROR_NONE;
        char *attchment_stream = NULL;
@@ -770,6 +782,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_attachment(int attachment_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("attachment_id[%d]", attachment_id);
        int err = EMAIL_ERROR_NONE;
        HIPC_API hAPI = NULL;
@@ -820,6 +833,7 @@ FINISH_OFF:
 
 EXPORT_API int email_query_mails(char *conditional_clause_string, email_mail_data_t** mail_list,  int *result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("conditional_clause_string[%s] mail_list[%p] result_count[%p]", conditional_clause_string, mail_list, result_count);
 
        int err = EMAIL_ERROR_NONE;
@@ -857,6 +871,7 @@ FINISH_OFF:
 
 EXPORT_API int email_query_mail_list(char *input_conditional_clause_string, email_mail_list_item_t** output_mail_list,  int *output_result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_conditional_clause_string[%s] output_mail_list[%p] output_result_count[%p]", input_conditional_clause_string, output_mail_list, output_result_count);
 
        int err = EMAIL_ERROR_NONE;
@@ -888,6 +903,7 @@ FINISH_OFF:
     -----------------------------------------------------------*/
 EXPORT_API int email_get_attachment_data(int attachment_id, email_attachment_data_t** attachment)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("attachment_id[%d] attachment[%p]", attachment_id, attachment);
 
        int err = EMAIL_ERROR_NONE;
@@ -965,6 +981,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_attachment_data_list(int input_mail_id, email_attachment_data_t **output_attachment_data, int *output_attachment_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_id[%d] output_attachment_data[%p] output_attachment_count[%p]", input_mail_id, output_attachment_data, output_attachment_count);
        int   err             = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -985,6 +1002,7 @@ EXPORT_API int email_get_attachment_data_list(int input_mail_id, email_attachmen
 
 EXPORT_API int email_free_attachment_data(email_attachment_data_t **attachment_data_list, int attachment_data_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("attachment_data_list[%p] attachment_data_count[%d]", attachment_data_list, attachment_data_count);
 
        int err = EMAIL_ERROR_NONE;
@@ -997,6 +1015,7 @@ EXPORT_API int email_free_attachment_data(email_attachment_data_t **attachment_d
 
 EXPORT_API int email_get_mail_list_ex(email_list_filter_t *input_filter_list, int input_filter_count, email_list_sorting_rule_t *input_sorting_rule_list, int input_sorting_rule_count, int input_start_index, int input_limit_count, email_mail_list_item_t** output_mail_list, int *output_result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("input_filter_list[%p] input_filter_count[%d] input_sorting_rule_list[%p] input_sorting_rule_count[%d] input_start_index[%d] input_limit_count[%d] output_mail_list[%p] output_result_count[%p]", input_filter_list, input_filter_count, input_sorting_rule_list, input_sorting_rule_count, input_start_index, input_limit_count, output_mail_list, output_result_count);
 
        int err = EMAIL_ERROR_NONE;
@@ -1035,6 +1054,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_list_filter(email_list_filter_t **input_filter_list, int input_filter_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("input_filter_list[%p] input_filter_count[%d]", input_filter_list, input_filter_count);
        int err = EMAIL_ERROR_NONE;
 
@@ -1048,6 +1068,7 @@ EXPORT_API int email_free_list_filter(email_list_filter_t **input_filter_list, i
 
 EXPORT_API int email_get_mails(int account_id , int mailbox_id, int thread_id, int start_index, int limit_count, email_sort_type_t sorting, email_mail_data_t** mail_list,  int* result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] mailbox_id[%d] thread_id[%d]", account_id, mailbox_id, thread_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1089,6 +1110,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mail_list(int account_id , int mailbox_id, int thread_id, int start_index, int limit_count, email_sort_type_t sorting, email_mail_list_item_t** mail_list,  int* result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] mailbox_id[%d] thread_id[%d]", account_id, mailbox_id, thread_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1122,6 +1144,7 @@ FINISH_OFF:
 EXPORT_API int email_get_mail_by_address(int account_id , int mailbox_id, email_email_address_list_t* addr_list,
                                                                        int start_index, int limit_count, int search_type, const char *search_value, email_sort_type_t sorting, email_mail_list_item_t** mail_list,  int* result_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] mailbox_id[%d]", account_id, mailbox_id);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -1158,6 +1181,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_thread_information_by_thread_id(int thread_id, email_mail_data_t** thread_info)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("thread_id[%d]", thread_id);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -1193,6 +1217,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_thread_information_ex(int thread_id, email_mail_list_item_t** thread_info)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("thread_id[%d]", thread_id);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -1256,6 +1281,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mail_data(int input_mail_id, email_mail_data_t **output_mail_data)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_id[%d]", input_mail_id);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -1282,6 +1308,7 @@ EXPORT_API int email_get_mail_data(int input_mail_id, email_mail_data_t **output
 /* LCOV_EXCL_START */
 EXPORT_API int email_modify_seen_flag(int *mail_ids, int num, int seen_flag, int onserver)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_ids[%p] num[%d] seen_flag[%d] on_server[%d]", mail_ids, num, seen_flag, onserver);
        EM_DEBUG_API_END("EMAIL_ERROR_NOT_IMPLEMENTED");
        return EMAIL_ERROR_NOT_IMPLEMENTED;
@@ -1290,6 +1317,7 @@ EXPORT_API int email_modify_seen_flag(int *mail_ids, int num, int seen_flag, int
 /* LCOV_EXCL_STOP */
 EXPORT_API int email_set_flags_field(int account_id, int *mail_ids, int num, email_flags_field_type field_type, int value, int onserver)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] mail_ids[%p] num[%d] field_type[%d] seen_flag[%d] on_server[%d]", account_id, mail_ids, num, field_type, value, onserver);
 
        int err = EMAIL_ERROR_NONE;
@@ -1392,6 +1420,7 @@ FINISH_OFF:
     -----------------------------------------------------------*/
 EXPORT_API int email_move_mail_to_mailbox(int *mail_ids, int num, int input_target_mailbox_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_ids[%p] num[%d] input_target_mailbox_id[%d]",  mail_ids, num, input_target_mailbox_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1469,6 +1498,7 @@ FINISH_OFF:
 
 EXPORT_API int  email_move_all_mails_to_mailbox(int input_source_mailbox_id, int input_target_mailbox_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_source_mailbox_id[%d] input_target_mailbox_id[%d]", input_source_mailbox_id, input_target_mailbox_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1529,6 +1559,7 @@ FINISH_OFF:
 
 EXPORT_API int email_move_mails_to_mailbox_of_another_account(int input_source_mailbox_id, int *input_mail_id_array, int input_mail_id_count, int input_target_mailbox_id, int *output_task_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_source_mailbox_id[%d] input_mail_id_array[%p] input_mail_id_count[%d] input_target_mailbox_id[%d] output_task_id[%p]",  input_source_mailbox_id, input_mail_id_array, input_mail_id_count, input_target_mailbox_id, output_task_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1558,6 +1589,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_mail_data(email_mail_data_t** mail_list, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("mail_list[%p] count[%d]", mail_list, count);
        int err = EMAIL_ERROR_NONE;
 
@@ -1573,6 +1605,7 @@ EXPORT_API int email_free_mail_data(email_mail_data_t** mail_list, int count)
 
 EXPORT_API int email_cancel_sending_mail(int mail_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d]", mail_id);
        EM_IF_NULL_RETURN_VALUE(mail_id, EMAIL_ERROR_INVALID_PARAM);
 
@@ -1683,6 +1716,7 @@ FINISH_OFF:
 
 EXPORT_API int email_retry_sending_mail(int mail_id, int timeout_in_sec)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d]", mail_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1744,6 +1778,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_max_mail_count(int *Count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int err = EMAIL_ERROR_NONE;
        EM_IF_NULL_RETURN_VALUE(Count, EMAIL_ERROR_INVALID_PARAM);
@@ -1757,6 +1792,7 @@ EXPORT_API int email_get_max_mail_count(int *Count)
 /* for setting application,disk usage of email in KB */
 EXPORT_API int email_get_disk_space_usage(unsigned long *total_size)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("total_size[%p]", total_size);
        int err = EMAIL_ERROR_NONE;
 
@@ -1776,6 +1812,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_address_info_list(int mail_id, email_address_info_list_t** address_info_list)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("mail_id[%d] address_info_list[%p]", mail_id, address_info_list);
 
        int err = EMAIL_ERROR_NONE;
@@ -1817,6 +1854,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_address_info_list(email_address_info_list_t **address_info_list)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("address_info_list[%p]", address_info_list);
 
        int err = EMAIL_ERROR_NONE;
@@ -1830,6 +1868,7 @@ EXPORT_API int email_free_address_info_list(email_address_info_list_t **address_
 
 EXPORT_API int email_query_meeting_request(char *input_conditional_clause_string, email_meeting_request_t **output_meeting_req, int *output_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_conditional_clause_string[%s] output_meeting_req[%p] output_count[%p]", input_conditional_clause_string, output_meeting_req, output_count);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -1854,6 +1893,7 @@ EXPORT_API int email_query_meeting_request(char *input_conditional_clause_string
 
 EXPORT_API int email_get_meeting_request(int mail_id, email_meeting_request_t **meeting_req)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] meeting_req[%p]", mail_id, meeting_req);
 
        int err = EMAIL_ERROR_NONE;
@@ -1890,6 +1930,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_meeting_request(email_meeting_request_t** meeting_req, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("meeting_req[%p] count[%d]", meeting_req, count);
        if (!meeting_req || !*meeting_req) {
                EM_DEBUG_EXCEPTION("NULL PARAM");
@@ -1909,6 +1950,7 @@ EXPORT_API int email_free_meeting_request(email_meeting_request_t** meeting_req,
 
 EXPORT_API int email_move_thread_to_mailbox(int thread_id, int target_mailbox_id, int move_always_flag)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("thread_id[%d] target_mailbox_id[%d] move_always_flag[%d]", thread_id, target_mailbox_id, move_always_flag);
        int err = EMAIL_ERROR_NONE;
 
@@ -1972,6 +2014,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_thread(int thread_id, int delete_always_flag)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("thread_id[%d] delete_always_flag[%d]", thread_id, delete_always_flag);
        int err = EMAIL_ERROR_NONE;
 
@@ -2031,6 +2074,7 @@ FINISH_OFF:
 
 EXPORT_API int email_modify_seen_flag_of_thread(int thread_id, int seen_flag, int on_server)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("thread_id[%d] seen_flag[%d] on_server[%d]", thread_id, seen_flag, on_server);
        int err = EMAIL_ERROR_NONE;
 
@@ -2097,6 +2141,7 @@ FINISH_OFF:
 
 EXPORT_API int email_expunge_mails_deleted_flagged(int input_mailbox_id, int input_on_server, int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_on_server[%d] output_handle[%p]", input_mailbox_id, input_on_server, output_handle);
        int err = EMAIL_ERROR_NONE;
        int return_value = 0;
index a6314b0..dbe079b 100644 (file)
@@ -30,7 +30,8 @@
  *                     email-service .
  */
 
-#include "string.h"
+#include <string.h>
+
 #include "email-convert.h"
 #include "email-storage.h"
 #include "email-core-utils.h"
 #include "email-core-signal.h"
 #include "email-utilities.h"
 #include "email-ipc.h"
+#include "email-api-private.h"
 
 /* API - Create a mailbox */
 
 EXPORT_API int email_add_mailbox(email_mailbox_t* new_mailbox, int on_server, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int size = 0;
@@ -154,6 +157,7 @@ FINISH_OFF:
 
 EXPORT_API int email_rename_mailbox(int input_mailbox_id, char *input_mailbox_name, char *input_mailbox_alias, int input_on_server, int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_mailbox_name[%p] input_mailbox_alias[%p] input_on_server[%d] output_handle[%p]", input_mailbox_id, input_mailbox_name, input_mailbox_alias, input_on_server, output_handle);
 
        int err = EMAIL_ERROR_NONE;
@@ -267,6 +271,7 @@ FINISH_OFF:
 
 EXPORT_API int email_rename_mailbox_ex(int input_mailbox_id, char *input_mailbox_name, char *input_mailbox_alias, void *input_eas_data, int input_eas_data_length, int input_on_server, int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_mailbox_name[%p] input_mailbox_alias[%p] input_eas_data[%p] input_eas_data_length[%d] input_on_server[%d] output_handle[%p]", input_mailbox_id, input_mailbox_name, input_mailbox_alias, input_eas_data, input_eas_data_length, input_on_server, output_handle);
 
        int err = EMAIL_ERROR_NONE;
@@ -394,6 +399,7 @@ FINISH_OFF:
 
 EXPORT_API int email_delete_mailbox(int input_mailbox_id, int input_on_server, int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_on_server[%d] output_handle[%p]", input_mailbox_id, input_on_server, output_handle);
 
        int err = EMAIL_ERROR_NONE;
@@ -496,6 +502,7 @@ EXPORT_API int email_delete_mailbox_ex(int input_account_id, int *input_mailbox_
                                                                                int input_mailbox_id_count, int input_on_server,
                                                                                int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d] input_mailbox_id_array[%p] "
                                                "input_mailbox_id_count[%d] input_on_server[%d] "
                                                "output_handle[%p]", input_mailbox_id_array, input_mailbox_id_array,
@@ -579,6 +586,7 @@ FINISH_OFF:
 
 EXPORT_API int email_set_mailbox_type(int input_mailbox_id, email_mailbox_type_e input_mailbox_type)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_mailbox_type[%d]", input_mailbox_id, input_mailbox_type);
        int err = EMAIL_ERROR_NONE;
 
@@ -620,6 +628,7 @@ EXPORT_API int email_set_mailbox_type(int input_mailbox_id, email_mailbox_type_e
 
 EXPORT_API int email_set_local_mailbox(int input_mailbox_id, int input_is_local_mailbox)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d] input_is_local_mailbox[%d]", input_mailbox_id, input_is_local_mailbox);
        int err = EMAIL_ERROR_NONE;
 
@@ -661,6 +670,7 @@ EXPORT_API int email_set_local_mailbox(int input_mailbox_id, int input_is_local_
 /* LCOV_EXCL_START */
 EXPORT_API int email_get_sync_mailbox_list(int account_id, email_mailbox_t** mailbox_list, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int mailbox_count = 0;
        int err = EMAIL_ERROR_NONE ;
@@ -709,6 +719,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mailbox_list(int account_id, int mailbox_sync_type, email_mailbox_t** mailbox_list, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int mailbox_count = 0;
@@ -761,6 +772,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mailbox_list_ex(int account_id, int mailbox_sync_type, int with_count, email_mailbox_t** mailbox_list, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN();
 
        int mailbox_count = 0;
@@ -818,6 +830,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mailbox_list_by_keyword(int account_id, char *keyword, email_mailbox_t** mailbox_list, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int mailbox_count = 0;
@@ -869,6 +882,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mailbox_by_mailbox_type(int account_id, email_mailbox_type_e mailbox_type,  email_mailbox_t** mailbox)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN();
 
        int err = EMAIL_ERROR_NONE;
@@ -920,6 +934,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_mailbox_by_mailbox_id(int input_mailbox_id, email_mailbox_t** output_mailbox)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int err = EMAIL_ERROR_NONE;
@@ -965,6 +980,7 @@ FINISH_OFF:
 
 EXPORT_API int email_set_mail_slot_size(int account_id, int mailbox_id, int new_slot_size)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] mailbox_id[%d] new_slot_size[%d]", account_id, mailbox_id, new_slot_size);
 
        int err = EMAIL_ERROR_NONE;
@@ -1023,6 +1039,7 @@ EXPORT_API int email_set_mail_slot_size(int account_id, int mailbox_id, int new_
 
 EXPORT_API int email_stamp_sync_time_of_mailbox(int input_mailbox_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mailbox_id[%d]", input_mailbox_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -1055,6 +1072,7 @@ EXPORT_API int email_stamp_sync_time_of_mailbox(int input_mailbox_id)
 
 EXPORT_API int email_free_mailbox(email_mailbox_t** mailbox_list, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN("mailbox_list[%p] count[%d]", mailbox_list, count);
        int err = EMAIL_ERROR_NONE;
 
index 44b541d..4d58685 100644 (file)
@@ -30,7 +30,8 @@
  *                     email-service .
  */
 
-#include "string.h"
+#include <string.h>
+
 #include "email-convert.h"
 #include "email-api-mailbox.h"
 #include "email-types.h"
 #include "email-utilities.h"
 #include "email-ipc.h"
 #include "email-storage.h"
-
+#include "email-api-private.h"
 
 EXPORT_API int email_send_mail(int mail_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] handle[%p]", mail_id, handle);
 
        int err = EMAIL_ERROR_NONE;
@@ -159,6 +161,7 @@ FINISH_OFF:
 
 EXPORT_API int email_send_mail_with_downloading_attachment_of_original_mail(int input_mail_id, int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_mail_id[%d] output_handle[%p]", input_mail_id, output_handle);
 
        int err = EMAIL_ERROR_NONE;
@@ -252,6 +255,7 @@ FINISH_OFF:
 
 EXPORT_API int email_schedule_sending_mail(int input_mail_id, time_t input_scheduled_time)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] input_time[%d]", input_mail_id, input_scheduled_time);
 
        int err = EMAIL_ERROR_NONE;
@@ -334,6 +338,7 @@ FINISH_OFF:
 
 EXPORT_API int email_send_saved(int account_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] handle[%p]", account_id, handle);
 
        char* pOptionStream = NULL;
@@ -375,6 +380,7 @@ EXPORT_API int email_send_saved(int account_id, int *handle)
 
 EXPORT_API int email_sync_header(int input_account_id, int input_mailbox_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d] input_mailbox_id[%d] handle[%p]", input_account_id, input_mailbox_id, handle);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
@@ -476,6 +482,7 @@ FINISH_OFF:
 
 EXPORT_API int email_sync_header_for_all_account(int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("handle[%p]", handle);
     char *multi_user_name = NULL;
        int err = EMAIL_ERROR_NONE;
@@ -582,6 +589,7 @@ FINISH_OFF:
 
 EXPORT_API int email_download_body(int mail_id, int with_attachment, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] with_attachment[%d]", mail_id, with_attachment);
        int err = EMAIL_ERROR_NONE;
        emstorage_mail_tbl_t* mail_table_data = NULL;
@@ -709,6 +717,7 @@ FINISH_OFF:
 
 EXPORT_API int email_download_attachment(int mail_id, int nth, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d] nth[%d] handle[%p]", mail_id, nth, handle);
        int err = EMAIL_ERROR_NONE;
        emstorage_mail_tbl_t* mail_table_data = NULL;
@@ -834,6 +843,7 @@ FINISH_OFF:
 
 EXPORT_API int email_cancel_job(int input_account_id, int input_handle, email_cancelation_type input_cancel_type)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d] input_handle[%d] input_cancel_type[%d]", input_account_id, input_handle, input_cancel_type);
        int err = EMAIL_ERROR_NONE;
        email_account_server_t account_server_type;
@@ -987,6 +997,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_pending_job(email_action_t action, int account_id, int mail_id, email_event_status_type_t * status)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("action[%d] account_id[%d] mail_id[%d] status[%p]", action, account_id, mail_id, status);
        int err = EMAIL_ERROR_NOT_SUPPORTED;
        EM_DEBUG_API_END("err[%d]", err);
@@ -996,6 +1007,7 @@ EXPORT_API int email_get_pending_job(email_action_t action, int account_id, int
 
 EXPORT_API int email_get_network_status(int* on_sending, int* on_receiving)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("on_sending[%p] on_receiving[%p]", on_sending, on_receiving);
        int err = EMAIL_ERROR_NOT_SUPPORTED;
        EM_DEBUG_API_END("err[%d]", err);
@@ -1004,6 +1016,7 @@ EXPORT_API int email_get_network_status(int* on_sending, int* on_receiving)
 
 EXPORT_API int email_get_task_information(email_task_information_t **output_task_information, int *output_task_information_count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("output_task_information[%p] output_task_information_count[%p]", output_task_information, output_task_information_count);
        int err = EMAIL_ERROR_NONE;
        int task_information_stream_length = 0;
@@ -1072,6 +1085,7 @@ FINISH_OFF:
 
 EXPORT_API int email_sync_imap_mailbox_list(int account_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int err = EMAIL_ERROR_NONE;
@@ -1115,6 +1129,7 @@ EXPORT_API int email_search_mail_on_server(int input_account_id,
                                                                                int input_search_filter_count,
                                                                                int *output_handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d] input_mailbox_id[%d] input_search_filter_list[%p] "
                                                "input_search_filter_count[%d] output_handle[%p]",
                                                input_account_id, input_mailbox_id, input_search_filter_list,
@@ -1245,6 +1260,7 @@ FINISH_OFF:
 
 EXPORT_API int email_clear_result_of_search_mail_on_server(int input_account_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("input_account_id[%d]", input_account_id);
 
        int       err = EMAIL_ERROR_NONE;
@@ -1336,6 +1352,7 @@ FINISH_OFF:
 
 EXPORT_API int email_query_smtp_mail_size_limit(int account_id, int *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d] handle[%p]", account_id, handle);
        int err = EMAIL_ERROR_NONE;
     char *multi_user_name = NULL;
index 8ebed31..afc074e 100644 (file)
  *                     email-service .
  */
 
-#include "string.h"
+#include <string.h>
+
 #include "email-convert.h"
 #include "email-storage.h"
 #include "email-utilities.h"
 #include "email-ipc.h"
 #include "email-core-utils.h"
+#include "email-api-private.h"
 
 EXPORT_API int email_get_rule(int filter_id, email_rule_t** filtering_set)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("filter_id[%d] filtering_set[%p]", filter_id, filtering_set);
 
        int err = 0;
@@ -69,6 +72,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_rule_list(email_rule_t** filtering_set, int* count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        int err = EMAIL_ERROR_NONE;
@@ -102,6 +106,7 @@ FINISH_OFF:
 
 EXPORT_API int email_add_rule(email_rule_t* filtering_set)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("filtering_set[%p]", filtering_set);
 
        int size = 0;
@@ -160,6 +165,7 @@ EXPORT_API int email_add_rule(email_rule_t* filtering_set)
 
 EXPORT_API int email_update_rule(int filter_id, email_rule_t* new_set)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("filter_id[%d] new_set[%p]", filter_id, new_set);
 
        int size = 0;
@@ -209,11 +215,9 @@ EXPORT_API int email_update_rule(int filter_id, email_rule_t* new_set)
        return err;
 }
 
-
-
-
 EXPORT_API int email_delete_rule(int filter_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("filter_id[%d]", filter_id);
 
        int err = EMAIL_ERROR_NONE;
@@ -245,6 +249,7 @@ EXPORT_API int email_delete_rule(int filter_id)
 
 EXPORT_API int email_free_rule(email_rule_t** filtering_set, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_FUNC_BEGIN();
        int err = EMAIL_ERROR_NONE, i;
 
@@ -267,6 +272,7 @@ EXPORT_API int email_free_rule(email_rule_t** filtering_set, int count)
 
 EXPORT_API int email_apply_rule(int filter_id)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("filter_id[%d]", filter_id);
 
        int err = EMAIL_ERROR_NONE;
index da6c76e..2730865 100755 (executable)
  *                     Email Engine .
  */
 
-#include "string.h"
+#include <string.h>
+
 #include "email-api-mail.h"
 #include "email-convert.h"
 #include "email-api-account.h"
+#include "email-api-private.h"
 #include "email-storage.h"
 #include "email-utilities.h"
 #include "email-core-mail.h"
 
 EXPORT_API int email_add_certificate(char *certificate_path, char *email_address)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("");
        return EMAIL_ERROR_NOT_SUPPORTED;
 }
 
 EXPORT_API int email_delete_certificate(char *email_address)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("");
        return EMAIL_ERROR_NOT_SUPPORTED;
 }
 
 EXPORT_API int email_get_certificate(char *email_address, email_certificate_t **certificate)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("");
        return EMAIL_ERROR_NOT_SUPPORTED;
 }
 
 EXPORT_API int email_verify_certificate(char *certificate_path, int *verify)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("");
        return EMAIL_ERROR_NOT_SUPPORTED;
 }
@@ -73,6 +79,7 @@ EXPORT_API int email_get_decrypt_message(int mail_id, email_mail_data_t **output
                                                                                email_attachment_data_t **output_attachment_data,
                                                                                int *output_attachment_count, int *verify)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d]", mail_id);
        int err = EMAIL_ERROR_NONE;
        int p_output_attachment_count = 0;
@@ -198,6 +205,7 @@ EXPORT_API int email_get_decrypt_message_ex(email_mail_data_t *input_mail_data,
                                                                                        int *output_attachment_count,
                                                                                        int *verify)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
        int err = EMAIL_ERROR_NONE;
     int i = 0;
@@ -297,6 +305,7 @@ FINISH_OFF:
 
 EXPORT_API int email_verify_signature(int mail_id, int *verify)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("mail_id[%d]", mail_id);
 
        if (mail_id <= 0) {
@@ -348,6 +357,7 @@ FINISH_OFF:
 
 EXPORT_API int email_verify_signature_ex(email_mail_data_t *input_mail_data, email_attachment_data_t *input_attachment_data, int input_attachment_count, int *verify)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN();
 
        if (!input_mail_data || !input_attachment_data || input_attachment_count <= 0) {
@@ -388,44 +398,9 @@ EXPORT_API int email_verify_signature_ex(email_mail_data_t *input_mail_data, ema
        return err;
 }
 
-/*
-EXPORT_API int email_check_ocsp_status(char *email_address, char *response_url, unsigned *handle)
-{
-       EM_DEBUG_FUNC_BEGIN_SEC("email_address : [%s], response_url : [%s], handle : [%p]", email_address, response_url, handle);
-
-       EM_IF_NULL_RETURN_VALUE(email_address, EMAIL_ERROR_INVALID_PARAM);
-
-       int err = EMAIL_ERROR_NONE;
-       HIPC_API hAPI = NULL;
-
-       hAPI = emipc_create_email_api(_EMAIL_API_CHECK_OCSP_STATUS);
-
-       EM_IF_NULL_RETURN_VALUE(hAPI, EMAIL_ERROR_NULL_VALUE);
-
-       if (!emipc_add_parameter(hAPI, ePARAMETER_IN, email_address, EM_SAFE_STRLEN(email_address)+1)) {
-               EM_DEBUG_EXCEPTION("email_check_ocsp_status--ADD Param email_address failed");
-               EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_NULL_VALUE);
-       }
-
-       if (!emipc_add_parameter(hAPI, ePARAMETER_IN, response_url, EM_SAFE_STRLEN(response_url)+1)) {
-               EM_DEBUG_EXCEPTION("email_check_ocsp_status--ADD Param response_url failed");
-               EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_NULL_VALUE);
-       }
-
-       if (emipc_execute_proxy_api(hAPI) != EMAIL_ERROR_NONE) {
-               EM_DEBUG_EXCEPTION("email_check_oscp_status--emipc_execute_proxy_api failed");
-               EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_NULL_VALUE);
-       }
-
-       emipc_get_parameter(hAPI, ePARAMETER_OUT, 0, sizeof(int), &err);
-       if (err == EMAIL_ERROR_NONE) {
-               if (handle)
-                       emipc_get_parameter(hAPI, ePARAMETER_OUT, 1, sizeof(int), handle);
-       }
-}
-*/
 EXPORT_API int email_validate_certificate(int account_id, char *email_address, unsigned *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d]", account_id);
        EM_DEBUG_FUNC_BEGIN_SEC("account_id[%d] email_address[%s] handle[%p]", account_id, email_address, handle);
 
@@ -486,6 +461,7 @@ FINISH_OFF:
 
 EXPORT_API int email_get_resolve_recipients(int account_id, char *email_address, unsigned *handle)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("account_id[%d]", account_id);
        EM_DEBUG_FUNC_BEGIN_SEC("account_id[%d] email_address[%s] handle[%p]", account_id, email_address, handle);
 
@@ -546,6 +522,7 @@ FINISH_OFF:
 
 EXPORT_API int email_free_certificate(email_certificate_t **certificate, int count)
 {
+       CHECK_EMAILS_SUPPORTED(EMAIL_FEATURE);
        EM_DEBUG_API_BEGIN("");
        return EMAIL_ERROR_NOT_SUPPORTED;
 }
diff --git a/email-api/include/email-api-private.h b/email-api/include/email-api-private.h
new file mode 100644 (file)
index 0000000..369b9a5
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+*  email-service
+*
+* Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
+*
+* Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
+*
+* 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_API_PRIVATE_H__
+#define __EMAIL_API_PRIVATE_H__
+
+#include <system_info.h>
+#include "email-types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define EMAIL_FEATURE "http://tizen.org/feature/email"
+#define CHECK_EMAILS_SUPPORTED(feature_name) \
+       do { \
+               bool is_supported = false; \
+               system_info_get_platform_bool(feature_name, &is_supported); \
+               if (is_supported == false) { \
+                       LOGE("[%s] feature is disabled", feature_name); \
+                       return EMAIL_ERROR_NOT_SUPPORTED; \
+               } \
+       } while (0)
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+/**
+ * @}
+ */
+
+#endif /* __EMAIL_API_PRIVATE_H__ */
+
+
index ab655a7..b40bcaf 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       email-service
 Summary:    E-mail Framework Middleware package
-Version:    0.10.103
+Version:    0.10.104
 Release:    1
 Group:      Messaging/Service
 License:    Apache-2.0 and BSD-3-Clause
@@ -59,7 +59,7 @@ BuildRequires:  pkgconfig(capi-system-device)
 BuildRequires:  pkgconfig(libsmack)
 BuildRequires:  pkgconfig(sqlite3)
 BuildRequires:  pkgconfig(cryptsvc)
-
+BuildRequires:  pkgconfig(capi-system-info)
 
 # OS upgrade
 %define upgrade_script_path /usr/share/upgrade/scripts