release tizen_2.0 beta
[profile/ivi/tel-plugin-dbus_tapi.git] / src / sat_manager.h
1 #ifndef SAT_MANAGER_H_
2 #define SAT_MANAGER_H_
3
4 #include <tcore.h>
5 #include <type/sat.h>
6 #include "common.h"
7
8
9 typedef union {
10         struct tel_sat_display_text_tlv displayTextInd; /**<    Parsed proactive command info from TLV to Telephony data type - display text    */
11         struct tel_sat_get_inkey_tlv getInkeyInd; /**<  Parsed proactive command info from TLV to Telephony data type - getInkey        */
12         struct tel_sat_get_input_tlv getInputInd; /**<  Parsed proactive command info from TLV to Telephony data type - getInput        */
13         struct tel_sat_play_tone_tlv play_tone;
14         struct tel_sat_setup_menu_tlv setupMenuInd; /**<        Parsed proactive command info from TLV to Telephony data type - setup menu      */
15         struct tel_sat_select_item_tlv selectItemInd; /**<      Parsed proactive command info from TLV to Telephony data type - select item     */
16         struct tel_sat_send_sms_tlv sendSMSInd;
17         struct tel_sat_send_ss_tlv send_ss;
18         struct tel_sat_send_ussd_tlv send_ussd;
19         struct tel_sat_setup_call_tlv setup_call;
20         struct tel_sat_refresh_tlv refresh;
21         struct tel_sat_provide_local_info_tlv provide_local_info;
22         struct tel_sat_setup_idle_mode_text_tlv idle_mode;
23         struct tel_sat_send_dtmf_tlv send_dtmf;
24         struct tel_sat_language_notification_tlv language_notification;
25         struct tel_sat_launch_browser_tlv launch_browser;
26         struct tel_sat_open_channel_tlv open_channel;
27         struct tel_sat_close_channel_tlv close_channel;
28         struct tel_sat_receive_channel_tlv receive_data;
29         struct tel_sat_send_channel_tlv send_data;
30         struct tel_sat_get_channel_status_tlv get_channel_status;
31 } sat_manager_proactive_data;
32
33 /**
34  * This structure defines the Command Queue Info.
35  */
36 struct sat_manager_queue_data {
37         enum tel_sat_proactive_cmd_type cmd_type; /**<Type of Command*/
38         int cmd_id; /**<Command Id*/
39         sat_manager_proactive_data cmd_data; /**<Proactive Cmd Ind Info*/
40 };
41
42
43 /*================================================================================================*/
44
45 void sat_manager_init_queue(struct custom_data *ctx);
46
47 //application request handling
48 gboolean sat_manager_handle_user_confirm(struct custom_data *ctx, TcorePlugin *plg, GVariant *user_confirm_data);
49 gboolean sat_manager_handle_app_exec_result(struct custom_data *ctx, TcorePlugin *plg, gint command_id, gint command_type, GVariant *exec_result);
50 gboolean sat_manager_handle_ui_display_status(struct custom_data *ctx, TcorePlugin *plg, gint command_id, gboolean display_status);
51 gboolean sat_manager_handle_event_download_envelop(int event_type, int src_dev, int dest_dev, struct tel_sat_envelop_event_download_tlv *evt_download, GVariant *download_data);
52
53 //proactive command processing
54 GVariant* sat_manager_caching_setup_menu_info(struct custom_data *ctx, const char *plugin_name, struct tel_sat_setup_menu_tlv* setup_menu_tlv);
55 GVariant* sat_manager_display_text_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_display_text_tlv* display_text_tlv);
56 GVariant* sat_manager_select_item_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_select_item_tlv* select_item_tlv);
57 GVariant* sat_manager_get_inkey_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_get_inkey_tlv* get_inkey_tlv);
58 GVariant* sat_manager_get_input_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_get_input_tlv* get_input_tlv);
59 GVariant* sat_manager_play_tone_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_play_tone_tlv* play_tone_tlv);
60 GVariant* sat_manager_send_sms_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_send_sms_tlv* send_sms_tlv);
61 GVariant* sat_manager_send_ss_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_send_ss_tlv* send_ss_tlv);
62 GVariant* sat_manager_send_ussd_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_send_ussd_tlv* send_ussd_tlv);
63 GVariant* sat_manager_setup_call_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_setup_call_tlv* setup_call_tlv);
64 GVariant* sat_manager_setup_event_list_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_setup_event_list_tlv *event_list_tlv);
65 GVariant* sat_manager_setup_idle_mode_text_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_setup_idle_mode_text_tlv *idle_mode_tlv);
66 GVariant* sat_manager_open_channel_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_open_channel_tlv *open_channel_tlv);
67 GVariant* sat_manager_close_channel_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_close_channel_tlv *close_channel_tlv);
68 GVariant* sat_manager_receive_data_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_receive_channel_tlv *receive_data_tlv);
69 GVariant* sat_manager_send_data_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_send_channel_tlv *send_data_tlv);
70 GVariant* sat_manager_get_channel_status_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_get_channel_status_tlv *get_channel_status_tlv);
71 GVariant* sat_manager_refresh_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_refresh_tlv *refresh_tlv);
72 void sat_manager_more_time_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_more_time_tlv *more_time_tlv);
73 GVariant* sat_manager_send_dtmf_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_send_dtmf_tlv *send_dtmf_tlv);
74 GVariant* sat_manager_launch_browser_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_launch_browser_tlv *launch_browser_tlv);
75 GVariant* sat_manager_provide_local_info_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_provide_local_info_tlv *provide_local_info_tlv);
76 GVariant* sat_manager_language_notification_noti(struct custom_data *ctx, const char *plugin_name, struct tel_sat_language_notification_tlv *language_notification_tlv);
77
78 void sat_mgr_convert_utf8_to_gsm(unsigned char *dest, int *dest_len, unsigned char* src, unsigned int src_len);
79 void sat_mgr_convert_utf8_to_ucs2(unsigned char* dest, int* dest_len,   unsigned char* src, int src_len);
80 void sat_mgr_convert_string(unsigned char *dest, unsigned short *dest_len,
81                 enum alphabet_format dcs, unsigned char *src, unsigned short src_len);
82
83 #endif /* SAT_MANAGER_H_ */