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 // send input device event
65 int sendInputEvent(const std::string &appid,
72 // set input region informantion
73 int setInputRegion(const std::string &appid,
74 const std::string &winname,
87 // unset input region informantion
88 int unsetInputRegion(const std::string &appid,
89 const std::string &winname,
95 // callback to application for input switch information
96 void capabilitiesCB(void *data,
97 struct ico_exinput *ico_exinput,
102 const char *codename,
105 // callback to application for input code information
106 void codeCB(void *data,
107 struct ico_exinput *ico_exinput,
110 const char *codename,
113 // callback to application for switch input
114 void inputCB(void *data,
115 struct ico_exinput *ico_exinput,
122 // callback to application for change input region
123 void regionCB(void *data,
124 struct ico_input_mgr_device *ico_input_mgr_device,
125 struct wl_array *region);
128 // assignment operator
129 CicoSCInputController& operator=(const CicoSCInputController &object);
132 CicoSCInputController(const CicoSCInputController &object);
135 // find input device information
136 CicoSCInputDev* findInputDev(const char *device);
138 // find input device switch information
139 CicoSCSwitch* findInputSwitch(const char *device, int input);
142 /// input device information list
143 std::vector<CicoSCInputDev*> m_inputDevList;
145 #endif // __CICO_SC_INPUT_CONTROLLER_H__
146 // vim:set expandtab ts=4 sw=4: