diff options
Diffstat (limited to 'composer/include/email-composer-type.h')
-rwxr-xr-x | composer/include/email-composer-type.h | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/composer/include/email-composer-type.h b/composer/include/email-composer-type.h new file mode 100755 index 0000000..457c72d --- /dev/null +++ b/composer/include/email-composer-type.h @@ -0,0 +1,242 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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.tizenopensource.org/license + * + * 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 __DEF_email_composer_type_H_ +#define __DEF_email_composer_type_H_ + +#include <stdio.h> +#include <string.h> +#include <stdbool.h> +#include <glib-object.h> +#include <Elementary.h> +#include <Evas.h> +#include <Edje.h> +#include <Eina.h> +#include <E_DBus.h> +#include <Efreet_Mime.h> +#include <Ecore_IMF.h> +#include <Ecore_File.h> +#include <vconf.h> +#include <email-api.h> +#include <contacts-svc.h> +#include "email-debug.h" + +#define MYFILE_IMGE_PATH "/opt/apps/org.tizen.myfile/res/images" +#define UG_MYFILE_PATH "/opt/media/" +#define COMPOSER_EDJ_NAME EDJDIR"/email-composer-view.edj" + +#define EMAIL_TMP_FOLDER "/tmp/email/" +#define EMAIL_TMP_FOLDER_PERMISSION 0755 +#define SAVE_HTML_FILE_NAME "mail.html" +#define SAVE_URI EMAIL_TMP_FOLDER"mail.txt" +#define THUMBNAIL_SIZE 80 + +#define COMPOSER_ORINGIN_HTML_STR N_("Original mail.htm") + +#define MAX_STR_LEN 1024 + +#define MAX_ACCOUNT 10 +#define MAX_ACCOUNT_NAME_LEN 64 + +#define MAX_RECIPIENT_ADDRESS_LEN 234 +#define MAX_RECIPIENT_COUNT 100 +#define MAX_RECIPIENT_ADDRESSES_LEN (MAX_RECIPIENT_ADDRESS_LEN*MAX_RECIPIENT_COUNT) +#define MAX_SUBJECT_LEN 1024 + +#define MAX_BODY_SIZE 32763 +#define MAX_ATTACHMENT_ITEM 100 +#define MAX_ATTACHMENT_SIZE 10*1024*1024 +#define MAX_ATTACHMENT_FILE_LEN 1024 + +#define CONV_THUMB_WIDTH 250 +#define CONV_THUMB_HEIGHT 170 + +#define ATTACHMENT_MEDIA_FOLDER_NAME "media" +#define ATTACHMENT_MMC_FOLDER_NAME "storage" + +#define ATTACHMENT_MEDIA_IMAGE "image" +#define ATTACHMENT_MEDIA_VIDEO "video" +#define ATTACHMENT_MEDIA_AUDIO "audio" +#define ATTACHMENT_MEDIA_VCARD "vcf" +#define ATTACHMENT_MEDIA_VCALENDAR "vcs" + +#define ATTACHMENT_IMAGE_FILE_PATH IMGDIR"/composer_attachment_image.png" +#define ATTACHMENT_AUDIO_FILE_PATH IMGDIR"/composer_attachment_sound.png" +#define ATTACHMENT_VIDEO_FILE_PATH IMGDIR"/composer_attachment_video.png" +#define ATTACHMENT_ETC_FILE_PATH IMGDIR"/composer_attachment_etc.png" +#define ATTACHMENT_VCARD_FILE_PATH IMGDIR"/composer_attachment_vcard.png" +#define ATTACHMENT_VCALENDAR_FILE_PATH IMGDIR"/composer_attachment_vcalender.png" + +#define EMAIL_THEME_TIZEN_BLACK "tizen-black" +#define EMAIL_THEME_TIZEN_BLACK_HD "tizen-black-hd" +#define EMAIL_THEME_TIZEN_WHITE "tizen" +#define EMAIL_THEME_TIZEN_WHITE_HD "tizen-hd" + +typedef struct { + gchar email_addr[MAX_RECIPIENT_ADDRESS_LEN]; /* Specific email address of recipient */ + int email_type; +} EmailList; + +typedef struct { + int selected_email_idx; + int email_cnt; + bool is_contact_info; + bool is_always_bcc; + bool is_from_addr; + gchar *display_name; /* Specific display name of recipient */ + EmailList email_list[MAX_RECIPIENT_COUNT]; +} EmailRecpInfo; + +typedef enum { + EMAIL_THEME_BLACK, + EMAIL_THEME_WHITE, + EMAIL_THEME_MAX +} EmailThemeType; + +typedef enum { + EMAIL_COMPOSER_LAUNCH_INLINE_IMAGE, + EMAIL_COMPOSER_LAUNCH_GALLERY, + EMAIL_COMPOSER_LAUNCH_TAKE_PHOTO, + EMAIL_COMPOSER_LAUNCH_RECORD_VIDEO, + EMAIL_COMPOSER_LAUNCH_VOICE_RECORDER, + EMAIL_COMPOSER_LAUNCH_FILE, + EMAIL_COMPOSER_LAUNCH_NAMECARD, + EMAIL_COMPOSER_LAUNCH_CALENDAR, + EMAIL_COMPOSER_LAUNCH_MEMO, + EMAIL_COMPOSER_LAUNCH_MESSAGE_COMPOSER, + EMAIL_COMPOSER_LAUNCH_MAX, +} EmailComposerLaunchType; + +typedef enum { + COMPOSER_ATTACHMENT_ITEM_IMAGE, + COMPOSER_ATTACHMENT_ITEM_SOUND, + COMPOSER_ATTACHMENT_ITEM_VIDEO, + COMPOSER_ATTACHMENT_ITEM_ETC, +} EmailComposerAttachmentType; + +typedef enum { + COMPOSER_ERROR_NONE = 0, + + COMPOSER_ERROR_FAIL = -1, + COMPOSER_ERROR_SEND_FAIL = -2, + COMPOSER_ERROR_NULL_POINTER = -3, + COMPOSER_ERROR_INVALID_ARG = -4, + COMPOSER_ERROR_SERVICE_INIT_FAIL = -5, + + COMPOSER_ERROR_NO_DEFAULT_ACCOUNT = -6, + COMPOSER_ERROR_NO_ACCOUNT = -7, + COMPOSER_ERROR_NO_ACCOUNT_LIST = -8, + COMPOSER_ERROR_INVALID_FILE = -9, + COMPOSER_ERROR_INVALID_FILE_SIZE = -10, + COMPOSER_ERROR_ETHUMB_FAIL = -11, + + COMPOSER_ERROR_GET_DATA_FAIL = -12, + COMPOSER_ERROR_MAKE_MAIL_FAIL= -13, + COMPOSER_ERROR_UNKOWN_TYPE = -14, + COMPOSER_ERROR_DBUS_FAIL = -15, + COMPOSER_ERROR_RECIPIENT_DUPLICATED = -16, + COMPOSER_ERROR_ENGINE_INIT_FAILED = -17, +} COMPOSER_ERROR_TYPE_E; + +typedef enum { + COMPOSER_FOCUS_STATUS_NONE = 1 << 0, + COMPOSER_FOCUS_STATUS_ATTACHMENT_REMOVED = 1 << 1, + COMPOSER_FOCUS_STATUS_ON_PAUSE = 1 << 2, + COMPOSER_FOCUS_STATUS_MAX = 1 << 3, +} COMPOSER_FOCUS_STATUS_TYPE; + +typedef struct _EmailComposerAccount EmailComposerAccount; +typedef struct _EmailComposerMailbox EmailComposerMailbox; +typedef struct _EmailComposerMail EmailComposerMail; + +struct _EmailComposerAccount { + int account_id; + int account_count; + int account_type; + char *account_name; + Evas_Object *account_rdg; + Evas_Object *account_rd[MAX_ACCOUNT]; + email_account_t *account_list; + email_account_t *account; +}; + +struct _EmailComposerMailbox { + int mailbox_id; + email_mailbox_t *mail_box; +}; + +struct _EmailComposerMail { + email_mail_data_t *mail_data; + email_attachment_data_t *attachment_list; +}; + +typedef struct { + int storage_type; /* the storage_type */ + int contact_index; /* the contact_index */ + int phone_index; /* the phone_index */ + char name[256]; /* the name */ + char phone_number[41]; /* the phone_number */ + char email[129]; /* the default_email */ +} contactui_info_t; + +#undef STR_VALID +#define STR_VALID(str) \ + ((str != NULL && strlen(str) > 0) ? TRUE : FALSE) + +#undef STR_INVALID +#define STR_INVALID(str) \ + ((str == NULL || strlen(str) == 0) ? TRUE : FALSE) + +#undef STR_LEN +#define STR_LEN(str) ({ char *s = str; (s) ? strlen(s) : 0; }) + +#undef STR_CMP +#define STR_CMP(s1, s2) \ + (((s1) == NULL || (s2) == NULL) ? FALSE : (g_ascii_strcasecmp(s1, s2) == 0 ? TRUE : FALSE)) + +#undef STR_CMP0 +#define STR_CMP0(s1, s2) \ + (g_strcmp0(s1, s2) == 0 ? TRUE : FALSE) + +#undef STR_NCMP +#define STR_NCMP(s1, s2, n) \ + (g_ascii_strncasecmp(s1, s2, (gsize)n) == 0 ? TRUE : FALSE) + +#undef STR_CPY +#define STR_CPY(dest, src) \ + g_stpcpy(dest, src) + +#undef STR_NCPY +#define STR_NCPY(dest, src, n) \ + strncpy(dest, src, n) + +#undef STR_LCPY +#define STR_LCPY(dest, src, n) \ + g_strlcpy(dest, src, n) + +#undef STR_CAT +#define STR_CAT(dest, src) \ + strcat(dest, src) + +#undef STR_NCAT +#define STR_NCAT(dest, src, n) \ + strncat(dest, src, n) + +#undef STR_LCAT +#define STR_LCAT(dest, src, n) \ + g_strlcat(dest, src, n) + +#endif /* __DEF_email_composer_type_H__ */ |