summaryrefslogtreecommitdiff
path: root/composer/include/email-composer-type.h
diff options
context:
space:
mode:
Diffstat (limited to 'composer/include/email-composer-type.h')
-rwxr-xr-xcomposer/include/email-composer-type.h242
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__ */