97fb6569fee0eb9ce5c9bcfeaa693eb1ad3c5ac9
[profile/ivi/ico-uxf-homescreen.git] / lib / system-controller / CicoSCWaylandIF.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   CicoSCWaylandIF.h
13  *
14  *  @brief  This file is definition of CicoSCWaylandIF class
15  */
16 //==========================================================================
17 #ifndef __CICO_SC_WAYLAND_IF_H__
18 #define __CICO_SC_WAYLAND_IF_H__
19
20 #include <wayland-client.h>
21
22 //==========================================================================
23 /*
24  *  @brief  This class is abstract class of wayland interface
25  */
26 //==========================================================================
27 class CicoSCWaylandIF {
28 public:
29     // initialize interface
30     virtual void initInterface(void               *data,
31                                struct wl_registry *registry,
32                                uint32_t           name,
33                                const char         *interface,
34                                uint32_t           version);
35
36     // inquire whether initialized
37     bool isInitialized(void);
38
39 protected:
40     // default constructor
41     CicoSCWaylandIF();
42
43     // destructor
44     virtual ~CicoSCWaylandIF();
45
46     // assignment operator
47     CicoSCWaylandIF& operator=(const CicoSCWaylandIF &object);
48
49     // copy constructor
50     CicoSCWaylandIF(const CicoSCWaylandIF &object);
51
52 protected:
53     // interface name of genivi ivi_controller
54     static const char * ICO_WL_IVI_CONTROLLER_IF;
55 #ifdef GENIVI_WL_SHELL_INFO         /* GENIVI-LM is supporting the wl_shell_info    */
56     // interface name of genivi ivi_application
57     static const char * ICO_WL_IVI_APPLICATION_IF;
58 #endif /*GENIVI_WL_SHELL_INFO*/     /* GENIVI-LM is supporting the wl_shell_info    */
59     // interface name of wayland output
60     static const char * ICO_WL_OUTPUT_IF;
61
62     // initialized flag
63     bool m_initialized;
64 };
65 #endif  // __CICO_SC_WAYLAND_IF_H__
66 // vim:set expandtab ts=4 sw=4: