upload tizen1.0 source
[framework/telephony/libslp-tapi.git] / include / common / TelDisplay.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @internal
23  * @ingroup             TelephonyAPI
24  * @addtogroup  DISPLAY_TAPI    DISPLAY
25  * @{
26  *
27  * These APIs allow an application to accomplish the following services: @n
28  * - Get the Display Icon Information. @n
29  */
30
31 #ifndef _TEL_DISPLAY_H_
32 #define _TEL_DISPLAY_H_
33
34 #include <TelDefines.h>
35 #include <TelUtility.h>
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 #define TAPI_MAX_DISP_O2_HOMEZONE_TAG_LEN       13      /** Maximum number of bytes Home Zone Tag name */
42 #define TAPI_MAX_DISP_ROAM_INFO_LEN                             49      /* Roaming location information Maximum length is 32 bytes, But, 49 bytes in Modem code*/
43 #define TAPI_MAX_DISP_PHONE_FATAL_ERR_MSG_LEN   64      /* Phone fatal error message length */
44
45 /**
46  * This defines the RSSI levels.
47  * In GSM, this field represent the radio signal strength in  dBm , but in the CDMA this field represents
48  * the number of the antenna bar as follows
49  */
50 typedef enum {
51         TAPI_DISPLAY_RSSI_0 = 0x00,
52         TAPI_DISPLAY_RSSI_1 = 0x01,
53         TAPI_DISPLAY_RSSI_2 = 0x02,
54         TAPI_DISPLAY_RSSI_3 = 0x03,
55         TAPI_DISPLAY_RSSI_4 = 0x04,
56         TAPI_DISPLAY_RSSI_5 = 0x05,
57         TAPI_DISPLAY_RSSI_6 = 0x06
58 } tapi_display_rssi_level_t;
59
60 /**
61  * This enum defines the strength of the battery in levels
62  */
63 typedef enum {
64         TAPI_POWER_PHONE_BATT_LEVEL0 = 0x00, /**< BLANK(Critical Low) */
65         TAPI_POWER_PHONE_BATT_LEVEL1 = 0x01, /**< bar1 */
66         TAPI_POWER_PHONE_BATT_LEVEL2 = 0x02, /**< bar2 */
67         TAPI_POWER_PHONE_BATT_LEVEL3 = 0x03, /**< bar3 */
68         TAPI_POWER_PHONE_BATT_LEVEL4 = 0x04, /**< bar4 */
69         TAPI_POWER_PHONE_BATT_LEVEL5 = 0x05, /**< bar5 */
70         TAPI_POWER_PHONE_BATT_LEVEL_INIT = 0x06 /**< init value */
71 } tapi_phone_battery_level_t;
72
73 /**
74  * Home Zone UI Icon Indiction Type
75  */
76 typedef enum {
77         TAPI_DISPLAY_HMZ_O2_ZONE_INDI_NONE = 0x00, /**< None */
78         TAPI_DISPLAY_HMZ_O2_ZONE_INDI_IND = 0x01, /**< Ind */
79         TAPI_DISPLAY_HMZ_O2_ZONE_INDI_CLEAR = 0x02 /**< Clear */
80 } tapi_display_hmz_02_zone_ind_t;
81
82 /**
83  * Home Zone Type
84  */
85 typedef enum {
86         TAPI_DISPLAY_HMZ_O2_ZONE_TYPE_NONE = 0x00, /**< None */
87         TAPI_DISPLAY_HMZ_O2_ZONE_TYPE_HOME = 0x01, /**< Home Zone */
88         TAPI_DISPLAY_HMZ_O2_ZONE_TYPE_CITY = 0x02 /**< City Zone */
89 } tapi_display_hmz_02_zone_type_t;
90
91 /**
92  * ZONE_TAG_PRESENT
93  */
94 typedef enum {
95         TAPI_DISPLAY_HMZ_O2_ZONE_TAG_NONE = 0x00, /**< None */
96         TAPI_DISPLAY_HMZ_O2_ZONE_TAG_PRESENT = 0x01, /**< Present */
97         TAPI_DISPLAY_HMZ_O2_ZONE_TAG_ABSENT = 0x02 /**< Absent */
98 } tapi_display_hmz_02_zone_tag_t;
99
100 /**
101  * This enumeration is used to identify what icon info the client is interested in..
102  */
103 typedef enum {
104         TAPI_DISPLAY_GET_ICON_RSSI = 0x01, /**< Signal Strength */
105         TAPI_DISPLAY_GET_ICON_BATT = 0x02, /**< Battery Level */
106         TAPI_DISPLAY_GET_ICON_HDR_RSSI = 0x04, /**< HDR(High Data Rate RSSI - CDMA */
107         TAPI_DISPLAY_GET_ICON_ALL = 0xFF /**< All Values Request */
108 } tapi_display_get_icon_req_type_t;
109
110 /**
111  * roam info Control Indication Type
112  */
113 typedef enum {
114         TAPI_DISPLAY_ROAM_INDI_NONE = 0x00, /**< None */
115         TAPI_DISPLAY_ROAM_TEXT_OFF = 0x01, /**< Roam Text Off */
116         TAPI_DISPLAY_ROAM_TEXT_ON = 0x02 /**< Roam Text On */
117 } tapi_display_roam_control_ind_t;
118
119 /**
120  * roam info data roam guard Indication Type
121  */
122 typedef enum {
123         TAPI_DISPLAY_DATA_ROAM_GUARD_NONE = 0x00, /**< None */
124         TAPI_DISPLAY_DATA_ROAM_GUARD_OFF = 0x01, /**< Data Roam Guard Off */
125         TAPI_DISPLAY_DATA_ROAM_GUARD_ON = 0x02 /**< Data Roam Guard On */
126 } tapi_display_data_roam_guard_ind_t;
127
128 /**
129  * roam info data roam guard Indication Type
130  */
131 typedef enum {
132         TAPI_DISPLAY_USER_IND_NORMAL_MODE = 0x01, /**< Normal Mode */
133         TAPI_DISPLAY_USER_IND_INITIAL_PROGRAMMING = 0x02, /**< Initial Programming needed */
134         TAPI_DISPLAY_USER_IND_MAINTENANCE_REQUIRED = 0x03, /**< Maintenance Required */
135         TAPI_DISPLAY_USER_IND_AUTHENTICATION_REQUIRED = 0x04 /**< Authentication Required */
136 } tapi_display_user_ind_message_t;
137
138 /**
139  * This structure defines the display icon information
140  */
141 typedef struct {
142         tapi_display_rssi_level_t rssi; /**< RSSI Levels */
143         tapi_display_rssi_level_t hdrRssi; /**< HDR(High Data Rate) RSSI Levels -CDMA */
144         tapi_phone_battery_level_t batt; /**< Battery Level */
145 } tapi_display_icon_info_t;
146
147 /**
148  * HomeZone Information Notification Message
149  *
150  * This service specifies the implementation of o2 DE's HomeZone Indication (HZI) service
151  * in 3G or 2G handsets. The HZI service consists of displaying a text and, optionally depending
152  * on the zone, an icon in the handset (UE) when the UE is located within a zone which is defined
153  * individually for each customer. The zone is defined by a set of cells, i. e. for each cell the
154  * indication is either displayed or not. If the display of a MS is too small to display the complete
155  * operator name together with the complete tag, it will be allowed to display the operator
156  * name and the HomeZone/CityZone-tag in the same line ('o2 - de city' or 'o2 - de home').
157  *
158  * Reference O2 Home Zone spec.
159  */
160 typedef struct {
161         tapi_display_hmz_02_zone_ind_t ind;
162         tapi_display_hmz_02_zone_type_t type;
163         tapi_display_hmz_02_zone_tag_t tag_presnet;
164
165         /**
166          * The coding is 12-character string coded in the short message alphabet given
167          * In GSM 03.38 with bit 8 set to zero. Default FF. FF indicates no display.
168          * If ZONE_TAG_PRESENT, then this is 13 bytes.
169          * If ZONE_TAG_ABSENT, then this is zero byte.
170          */
171         unsigned char tag_name[TAPI_MAX_DISP_O2_HOMEZONE_TAG_LEN];
172 } tapi_display_hmz_o2_ind_t;
173
174 /**
175  * Notify the TS of the occurrence of the phone fatal in the phone
176  */
177 typedef struct {
178         unsigned char Msg_len;
179         unsigned char Message[TAPI_MAX_DISP_PHONE_FATAL_ERR_MSG_LEN];
180 } tapi_display_phone_fatal_info_noti_t;
181
182 /**
183  * Notify the TS of the occurrence of the ext roam info in the phone
184  */
185 typedef struct {
186         tapi_display_roam_control_ind_t control;
187         tapi_display_data_roam_guard_ind_t data_roam_guard;
188         unsigned char txt_len;
189         unsigned char text[TAPI_MAX_DISP_ROAM_INFO_LEN];
190 } tapi_display_ext_roam_info_noti_t;
191
192 #ifdef __cplusplus
193 }
194 #endif
195
196 #endif  /* _TEL_DISPLAY_H_ */
197
198 /**
199  *  @}
200  */