2 * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
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
10 //==========================================================================
12 * @file CicoSCInputController.h
14 * @brief This file is definition of CicoSCInputController class
16 //==========================================================================
17 #ifndef __CICO_SC_INPUT_CONTROLLER_H__
18 #define __CICO_SC_INPUT_CONTROLLER_H__
23 #include "CicoSCWlInputMgrIF.h"
25 //==========================================================================
26 // Forward declaration
27 //==========================================================================
32 //--------------------------------------------------------------------------
34 * @brief This class is controller of input device
36 //--------------------------------------------------------------------------
37 class CicoSCInputController : public CicoSCWlInputMgrIF
40 // default constructor
41 CicoSCInputController();
44 ~CicoSCInputController();
46 // initialize input device information
49 // executes an input control process corresponding to the command
50 void handleCommand(const CicoSCCommand *cmd);
52 // register input device control application
53 int addInputApp(const std::string &appid,
54 const std::string &device,
59 // unregister input device control application
60 int delInputApp(const std::string &appid,
61 const std::string &device,
64 // set input region information
65 int setInputRegion(const std::string &appid,
66 const std::string &winname,
79 // unset input region information
80 int unsetInputRegion(const std::string &appid,
81 const std::string &winname,
87 // callback to application for input switch information
88 void capabilitiesCB(void *data,
89 struct ico_exinput *ico_exinput,
97 // callback to application for input code information
98 void codeCB(void *data,
99 struct ico_exinput *ico_exinput,
102 const char *codename,
105 // callback to application for switch input
106 void inputCB(void *data,
107 struct ico_exinput *ico_exinput,
114 // callback to application for change input region
115 void regionCB(void *data,
116 struct ico_input_mgr_device *ico_input_mgr_device,
117 struct wl_array *region);
120 // assignment operator
121 CicoSCInputController& operator=(const CicoSCInputController &object);
124 CicoSCInputController(const CicoSCInputController &object);
127 // find input device information
128 CicoSCInputDev* findInputDev(const char *device);
130 // find input device switch information
131 CicoSCSwitch* findInputSwitch(const char *device, int input);
134 /// input device information list
135 std::vector<CicoSCInputDev*> m_inputDevList;
137 #endif // __CICO_SC_INPUT_CONTROLLER_H__
138 // vim:set expandtab ts=4 sw=4: