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