live-thumbnail is changed GPU un-depending AND Fix for TIVI-2290
[profile/ivi/ico-uxf-homescreen.git] / src / statusbar / CicoCommonComponent.h
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
4  * This program is licensed under the terms and conditions of the
5  * Apache License, version 2.0.  The full text of the Apache License is at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  */
9
10 //==========================================================================
11 /**
12  *  @file   CicoCommonComponent.h
13  *
14  *  @brief  This file is definition of CicoCommonComponent class
15  */
16 //==========================================================================
17 #ifndef __CICO_COMMON_COMPONENT_H__
18 #define __CICO_COMMON_COMPONENT_H__
19
20 #include <Elementary.h>
21 #include <ctime>
22 #include <list>
23 #include <memory>
24 #include <vector>
25 #include "CicoComponentInterface.h"
26 #include "CicoModuleImplementation.h"
27
28 //==========================================================================
29 /**
30  *  @brief  This class provide the common component interfaces
31  */
32 //==========================================================================
33 class CicoCommonComponent : public CicoComponentInterface
34 {
35 public:
36     // default constructor
37     CicoCommonComponent();
38
39     // destructor
40     virtual ~CicoCommonComponent();
41
42     // terminate component
43     virtual bool Terminate(void);
44
45     // show component
46     virtual void Show(void);
47
48     // hide component
49     virtual void Hide(void);
50
51     // set position of  component
52     virtual void SetPos(int x, int y);
53
54     // set size of component
55     virtual void SetSize(int w, int h);
56
57 protected:
58     // pack module 
59     void PackModule(std::shared_ptr<CicoCommonModule> module);
60
61     // unpack module 
62     void UnpackModule(std::shared_ptr<CicoCommonModule> module);
63
64 protected:
65     int posx_;      /// position x
66     int posy_;      /// position y
67     int width_;     /// componet width
68     int height_;    /// componet height
69     std::list<std::shared_ptr<CicoCommonModule> > modulelist_;  ///module list
70 };
71 #endif  // __CICO_COMMON_COMPONENT_H__
72 // vim: set expandtab ts=4 sw=4: