1/*! \file mainpage.dox 2 \brief Introduction page 3 4 \mainpage Introduction 5 Welcome to the documentation of Kodi. This starting page is meant to help people find their 6 way around the code. 7 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. 13 14 Any help/suggestions are more than welcome. 15 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. 19*/ 20 21// Groups definition 22 23/*! 24 \defgroup jobs Asynchronous jobs 25 Threaded job execution 26*/ 27 28/*! 29 \defgroup guilib Guilib classes 30 Guilib classes 31*/ 32 33/*! 34 \defgroup graphics Graphics and Screen 35 \ingroup guilib 36 37 Everything around graphics and Screen 38*/ 39 40^/*! 41 \defgroup thumbs Thumbs 42 \ingroup graphics 43 Everything around the thumbs 44*/ 45 46/*! 47 \defgroup textures Textures and Fonts 48 \ingroup graphics 49 50 Everything about textures and fonts 51*/ 52 53/*! 54 \defgroup items Items 55 \ingroup guilib 56 Everything around items 57*/ 58 59/*! 60 \defgroup labels Labels 61 \ingroup guilib 62 Everything around labels 63*/ 64 65/*! 66 \defgroup lists Lists 67 \ingroup guilib 68 Everything around lists 69*/ 70 71/*! 72 \defgroup strings Strings and Localization 73 \ingroup guilib 74 75 Everything around Strings and localization 76*/ 77 78/*! 79 \defgroup tinyxml XML Parser 80 \ingroup strings 81 Tiny XML - XML Parser 82*/ 83 84/*! 85 \defgroup winref Window Reference 86 \ingroup guilib 87 The window reference 88*/ 89 90/*! 91 \defgroup winmsg Windows and Messages 92 \ingroup winref 93 Windows and messages 94*/ 95 96/*! 97 \defgroup controls Controls 98 \ingroup winref 99 Control classes 100*/ 101 102/*! 103 \defgroup winman Window Manager and Callbacks 104 \ingroup winref 105 106 Everything about window manager and callbacks 107*/ 108 109/*! 110 \defgroup actionkeys Actions and Keys 111 \ingroup winref 112 113 Everything around action mapping and key processing 114*/ 115 116/*! 117 118 \defgroup database Database 119 120 Everything around the database 121*/ 122 123/*! 124 \defgroup filesystem Filesystem 125 Everything around the filesystem 126*/ 127 128/*! 129 \defgroup input Input 130 Everything around input 131*/ 132 133/*! \defgroup keyboard Keyboard 134 \ingroup input 135 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: 138 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. 145*/ 146 147/*! 148 \defgroup mouse Mouse 149 \ingroup input 150 Everything around mouse 151 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: 154 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. 163*/ 164 165/*! 166 \defgroup joystick Joystick 167 \ingroup input 168 Everything around joystick 169*/ 170 171/*! 172 \defgroup touch Touch 173 \ingroup input 174 Everything around touch detection 175*/ 176 177/*! 178 \defgroup touch_generic Touch 179 \ingroup touch 180 Everything around generic touch detection 181*/ 182 183/*! 184 \defgroup games 185 Everything about RetroPlayer. 186*/ 187 188/*! 189 \defgroup interface Interfaces 190 Everything around interfaces 191*/ 192 193/*! 194 \defgroup info Info 195 \ingroup interface 196 Everything around the info interface 197*/ 198 199/*! 200 \defgroup jsonrpc JSON-RPC 201 \ingroup interface 202 Everything around the json-rpc interface 203*/ 204 205/*! 206 \defgroup jsonrpc JSON-RPC 207 \ingroup interface 208 Everything around the json-rpc interface 209*/ 210 211/*! 212 \defgroup listproviders Listproviders 213 Everything around the listproviders 214*/ 215 216/*! 217 \defgroup music Music info 218 Elements used in my music 219*/ 220 221/*! 222 \defgroup settings Settings 223 Everything around the settings 224*/ 225 226/*! 227 \defgroup windows Windows 228 Kodi windows 229*/ 230