tizen_2.0_build
[profile/ivi/indicator-win.git] / daemon / indicator.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *  http://www.tizenopensource.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __INDICATOR_H__
19 #define __INDICATOR_H__
20
21 #include <Elementary.h>
22 #include <Eina.h>
23
24 #define VCONF_INDICATOR_HOME_PRESSED "memory/private/"PACKAGE_NAME"/home_pressed"
25
26
27 #ifndef VCONFKEY_INDICATOR_STARTED
28 #define VCONFKEY_INDICATOR_STARTED "memory/private/"PACKAGE_NAME"/started"
29 #endif /* VCONFKEY_INDICATOR_STARTED */
30
31
32 enum {
33         /* Value is allocated from Left side in status bar */
34         INDICATOR_PRIORITY_FIXED_MIN = 0,
35         INDICATOR_PRIORITY_FIXED5 = INDICATOR_PRIORITY_FIXED_MIN,/* Home */
36         INDICATOR_PRIORITY_FIXED4,              /* Network,Wi-Fi,Wimax */
37         INDICATOR_PRIORITY_FIXED3,              /* RSSI, Flight Mode, Roaming */
38         INDICATOR_PRIORITY_FIXED2,              /* Battery, Power, Connected */
39         INDICATOR_PRIORITY_FIXED1,              /* Clock */
40         INDICATOR_PRIORITY_FIXED_MAX = INDICATOR_PRIORITY_FIXED1,
41         INDICATOR_PRIORITY_NON_FIXED_MIN,
42         /* 3rd app Event */
43         INDICATOR_PRIORITY_NON_FIXED_10 = INDICATOR_PRIORITY_NON_FIXED_MIN,
44         INDICATOR_PRIORITY_NON_FIXED_9, /* Rotation Lock */
45         INDICATOR_PRIORITY_NON_FIXED_8, /* USB */
46         INDICATOR_PRIORITY_NON_FIXED_7, /* Music,FM Radio,Voice Recorder */
47         INDICATOR_PRIORITY_NON_FIXED_6, /* Data Transffering,Downloading,
48                                          * Uploading,sync,call divert,DB update
49                                          */
50         INDICATOR_PRIORITY_NON_FIXED_5, /* Bluetooth,NFC,GPS */
51         INDICATOR_PRIORITY_NON_FIXED_4, /* Email, Message, IM */
52         INDICATOR_PRIORITY_NON_FIXED_3, /* Call, SOS, Missed Call */
53         INDICATOR_PRIORITY_NON_FIXED_2, /* Alarm */
54         INDICATOR_PRIORITY_NON_FIXED_1, /* Silent / Vibration */
55         INDICATOR_PRIORITY_NON_FIXED_MAX = INDICATOR_PRIORITY_NON_FIXED_1
56 };
57
58 enum indicator_icon_type {
59         INDICATOR_IMG_ICON = 0,
60         INDICATOR_TXT_ICON,
61         INDICATOR_TXT_WITH_IMG_ICON
62 };
63
64 enum indicator_icon_ani {
65         ICON_ANI_NONE = 0,
66         ICON_ANI_BLINK,
67         ICON_ANI_ROTATE,
68         ICON_ANI_METRONOME,
69         ICON_ANI_MAX
70 };
71
72 typedef struct _Text_Icon_Info {
73         char *data;
74         Evas_Object *obj;
75         int width;
76 } Text_Icon_Info;
77
78 typedef struct _Img_Icon_Info {
79         const char *data;
80         Evas_Object *obj;
81         int width;
82 } Img_Icon_Info;
83
84 typedef struct Indicator_Icon {
85         char *name;
86         enum indicator_icon_type type;
87         int priority;
88         Eina_Bool always_top;   /* only for SOS messsage */
89
90         /* func */
91         int (*init) (void *);
92         int (*fini) (void);
93         int (*hib_enter) (void);
94         int (*hib_leave) (void *);
95         int (*lang_changed) (void *);
96         int (*region_changed) (void *);
97
98         /* do not modify this area */
99         /* internal data */
100
101         char data[1024];
102         void *ad;
103         Eina_Bool obj_exist;
104         Text_Icon_Info txt_obj;
105         Img_Icon_Info img_obj;
106         Eina_Bool wish_to_show;
107         Eina_Bool exist_in_view;
108         Eina_Bool fixed;
109         enum indicator_icon_ani ani;
110 } Indicator_Icon_Object;
111
112 #endif /*__INDICATOR_H__*/