2 \brief Introduction page
5 Welcome to the documentation of Kodi. This starting page is meant to help people find their
8 This documentation is a work in progress - only some of the code has thus far been documented
9 and we welcome any and all input to documenting it further. Documentation serves both to help
10 newcomers get to grips with the source quickly, and to highlight possible deficiencies in the
11 code or interfaces. Due to the projects history you may find XBMC mentioned in the docs, this was
12 the previous name of the project.
14 Any help/suggestions are more than welcome.
16 \section doxy_whatisxbmc What is Kodi?
17 Kodi is a free, open source (GPL) multimedia player that runs on Linux, Mac OS X (10.4 and later),
18 Windows, IOS and Android. See http://kodi.tv for more details.
24 \defgroup jobs Asynchronous jobs
25 Threaded job execution
29 \defgroup guilib Guilib classes
34 \defgroup graphics Graphics and Screen
37 Everything around graphics and Screen
41 \defgroup thumbs Thumbs
43 Everything around the thumbs
47 \defgroup textures Textures and Fonts
50 Everything about textures and fonts
56 Everything around items
60 \defgroup labels Labels
62 Everything around labels
68 Everything around lists
72 \defgroup strings Strings and Localization
75 Everything around Strings and localization
79 \defgroup tinyxml XML Parser
85 \defgroup winref Window Reference
91 \defgroup winmsg Windows and Messages
97 \defgroup controls Controls
103 \defgroup winman Window Manager and Callbacks
106 Everything about window manager and callbacks
110 \defgroup actionkeys Actions and Keys
113 Everything around action mapping and key processing
118 \defgroup database Database
120 Everything around the database
124 \defgroup filesystem Filesystem
125 Everything around the filesystem
129 \defgroup input Input
130 Everything around input
133 /*! \defgroup keyboard Keyboard
136 Keyboard input is processed by \ref CInputManager and forwarded to
137 registered keyboard handlers (e.g. game clients) or as actions to the UI:
139 - If no keyboard handlers are registered or if they don't consume events,
140 the keyboard events are forwarded to the UI via \ref CInputManager::OnKey.
141 - Clients (e.g. game clients implementing \ref KEYBOARD::IKeyboardHandler) call
142 \ref CInputManager::RegisterKeyboardHandler to register themselves as eligible
143 for keyboard input events.
144 - Keyboards can emulate Joysticks as described in KEYBOARD::CJoystickEmulation.
148 \defgroup mouse Mouse
150 Everything around mouse
152 Mouse input is processed by \ref CInputManager and forwarded to
153 registered mouse handlers (e.g. game clients) or as actions to the UI:
155 - If no mouse handlers are registered or if they don't consume events,
156 the mouse input events are forwarded to the UI via \ref CInputManager::ProcessMouse.
157 - Clients (e.g. game clients implementing \ref MOUSE::IMouseInputHandler) call
158 \ref CInputManager::RegisterMouseHandler to register themselves as eligible
159 for mouse input events.
160 - Mouse events (from \ref CInputManager::OnEvent) are collected via implementations of
161 \ref MOUSE::IMouseDriverHandler and transformed into higher level features by
162 \ref MOUSE::IMouseButtonMap instances before they are sent to the handlers.
166 \defgroup joystick Joystick
168 Everything around joystick
172 \defgroup touch Touch
174 Everything around touch detection
178 \defgroup touch_generic Touch
180 Everything around generic touch detection
185 Everything about RetroPlayer.
189 \defgroup interface Interfaces
190 Everything around interfaces
196 Everything around the info interface
200 \defgroup jsonrpc JSON-RPC
202 Everything around the json-rpc interface
206 \defgroup jsonrpc JSON-RPC
208 Everything around the json-rpc interface
212 \defgroup listproviders Listproviders
213 Everything around the listproviders
217 \defgroup music Music info
218 Elements used in my music
222 \defgroup settings Settings
223 Everything around the settings
227 \defgroup windows Windows