Bug fix: TIVI-1996.
[profile/ivi/ico-uxf-homescreen.git] / src / homescreen / CicoOnScreenAppList.h
1 #ifndef __CICOONSCREENAPPLIST_H__
2 #define __CICOONSCREENAPPLIST_H__
3 /*
4  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
5  *
6  * This program is licensed under the terms and conditions of the
7  * Apache License, version 2.0.  The full text of the Apache License is at
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  */
11 /**
12  * @brief   onscreen application
13  *
14  * @date    Feb-15-2013
15  */
16 #include <unistd.h>
17 #include <Eina.h>
18 #include <Evas.h>
19 #include <Ecore.h>
20 #include <Ecore_Wayland.h>
21 #include <Ecore_Evas.h>
22 #include <Edje.h>
23
24 #include "ico_uxf.h"
25 #include "ico_uxf_conf.h"
26 #include "ico_uxf_conf_ecore.h"
27
28 #include "home_screen.h"
29 #include "home_screen_res.h"
30 #include "CicoOnScreenControlWindow.h"
31 #include "CicoOnScreenAction.h"
32
33 /*============================================================================*/
34 /* Define data types                                                          */
35 /*============================================================================*/
36 #define ICO_ONS_BUF_SIZE    (1024)
37 #define ICO_ONS_APPLI_NUM    (15)        /* only for applist */
38
39 /*============================================================================*/
40 /* Class Declaration (CicoOnScreenAppList)                                        */
41 /*============================================================================*/
42 class CicoOnScreenAppList                                                      
43 {
44  public:
45     static void Initialize(CicoOnScreenControlWindow *control_window_tmp);
46     static void LoadConfig(void);
47     static void ConfigEvent(const char *appid, int type);                                             
48     static void SetConfigCallback(void);
49     static int LoadIconsEdjeFile(const char *edje_file);
50     static void NextList(void);                                                                               
51   private:
52     static int GetAppIndex(int idx);                                                                         
53     static void SetAppIcons(Evas_Object *part,const char *partname); 
54     static const char *GetFname(const char *filepath);
55          
56     static CicoOnScreenControlWindow *control_window; 
57     static int applist_idx; /* only for applist, it's index */
58     static int app_cnt; /* only for applist. a number of app to listed */
59   protected:
60     CicoOnScreenAppList operator = (const CicoOnScreenAppList&);
61     CicoOnScreenAppList(const CicoOnScreenAppList&);
62 };
63
64 #endif
65