packaging: use EINA_* booleans (fix FTBFS)
[apps/core/preloaded/draglock.git] / src / draglock.c
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 #include <stdio.h>
18 #include <app.h>
19 #include <Ecore_X.h>
20 #include <utilX.h>
21 #include "draglock.h"
22 #include "draglock-ui.h"
23 #include "draglock-util.h"
24
25 static void device_orientation(app_device_orientation_e orientation,
26                 void *user_data) {
27         struct appdata *ad = (struct appdata *) user_data;
28
29         if (ad == NULL || ad->win == NULL)
30                 return;
31 }
32
33 static bool app_create(void *user_data) {
34         struct appdata *ad = (struct appdata *) user_data;
35         Evas_Object *win;
36         Evas_Object *bg;
37         char *name;
38
39         DRAGLOCK_DBG("launching draglock"); 
40         if (ad == NULL) {
41                 return EINA_FALSE;
42         }
43
44         ecore_x_window_size_get(ecore_x_window_root_first_get(), &ad->win_w,
45                         &ad->win_h);
46         DRAGLOCK_DBG("window size(%d,%d)", ad->win_w, ad->win_h);
47
48         draglock_init_svi(&ad->sound_handle);
49         draglock_play_sound(ad->sound_handle, 0);
50
51         /* create window */
52         app_get_name(&name);
53
54         win = draglock_util_add_window(name);
55         if (win == NULL)
56                 return EINA_FALSE;
57         ad->win = win;
58
59         ecore_x_icccm_name_class_set(elm_win_xwindow_get(ad->win),"LOCK_SCREEN", "LOCK_SCREEN");
60
61         utilx_set_window_effect_state(ecore_x_display_get(),elm_win_xwindow_get(ad->win), 0);
62
63         evas_object_show(win);
64
65         ad->scale = elm_scale_get();
66
67         bg = draglock_util_add_bg(win);
68
69         draglock_ui_create(ad);
70
71         free(name);
72
73         return EINA_TRUE;
74 }
75
76 static void app_terminate(void *user_data) {
77         struct appdata *ad = (struct appdata *) user_data;
78
79         if (ad == NULL) {
80                 return;
81         }
82
83         draglock_play_sound(ad->sound_handle, 1);
84         draglock_fini_svi(ad->sound_handle);
85
86         draglock_ui_destroy(ad);
87
88         if (ad->win)
89                 evas_object_del(ad->win);
90 }
91
92 static void app_pause(void *user_data) {
93         struct appdata *ad = (struct appdata *) user_data;
94         (void) ad;
95 }
96
97 static void app_resume(void *user_data) {
98         struct appdata *ad = (struct appdata *) user_data;
99         (void) ad;
100 }
101
102 static void app_service(service_h service, void *user_data) {
103         struct appdata *ad = (struct appdata *) user_data;
104
105         if (ad == NULL) {
106                 return;
107         }
108
109         if (ad->win)
110                 elm_win_activate(ad->win);
111 }
112
113 int main(int argc, char *argv[]) {
114         struct appdata ad;
115
116         app_event_callback_s event_callback;
117
118         event_callback.create = app_create;
119         event_callback.terminate = app_terminate;
120         event_callback.pause = app_pause;
121         event_callback.resume = app_resume;
122         event_callback.service = app_service;
123         event_callback.low_memory = NULL;
124         event_callback.low_battery = NULL;
125         event_callback.device_orientation = device_orientation;
126         event_callback.language_changed = NULL;
127         event_callback.region_format_changed = NULL;
128
129         memset(&ad, 0x0, sizeof(struct appdata));
130
131         return app_efl_main(&argc, &argv, &event_callback, &ad);
132 }