/*! \file   mainpage.dox
    \brief  Introduction page

  \mainpage Introduction
            Welcome to the documentation of Kodi. This starting page is meant to help people find their
            way around the code.

            This documentation is a work in progress - only some of the code has thus far been documented
            and we welcome any and all input to documenting it further. Documentation serves both to help
            newcomers get to grips with the source quickly, and to highlight possible deficiencies in the
            code or interfaces. Due to the projects history you may find XBMC mentioned in the docs, this was
            the previous name of the project.

            Any help/suggestions are more than welcome.

  \section  doxy_whatisxbmc What is Kodi?
            Kodi is a free, open source (GPL) multimedia player that runs on Linux, Mac OS X (10.4 and later),
            Windows, IOS and Android.  See http://kodi.tv for more details.
*/

// Groups definition

/*!
	\defgroup jobs Asynchronous jobs
	Threaded job execution
*/

/*!
	\defgroup guilib Guilib classes
	Guilib classes
*/

/*!
	\defgroup graphics Graphics and Screen
	\ingroup guilib

	Everything around graphics and Screen
*/

^/*!
	\defgroup thumbs Thumbs
	\ingroup graphics
	Everything around the thumbs
*/

/*!
	\defgroup textures Textures and Fonts
	\ingroup graphics

	Everything about textures and fonts
*/

/*!
	\defgroup items Items
	\ingroup guilib
	Everything around items
*/

/*!
	\defgroup labels Labels
	\ingroup guilib
	Everything around labels
*/

/*!
	\defgroup lists Lists
	\ingroup guilib
	Everything around lists
*/

/*!
	\defgroup strings Strings and Localization
	\ingroup guilib

	Everything around Strings and localization
*/

/*!
	\defgroup tinyxml XML Parser
	\ingroup strings
	Tiny XML - XML Parser
*/

/*!
	\defgroup winref Window Reference
	\ingroup guilib
	The window reference
*/

/*!
	\defgroup winmsg Windows and Messages
	\ingroup winref
	Windows and messages
*/

/*!
	\defgroup controls Controls
	\ingroup winref
	Control classes
*/

/*!
	\defgroup winman Window Manager and Callbacks
	\ingroup winref

	Everything about window manager and callbacks
*/

/*!
	\defgroup actionkeys Actions and Keys
	\ingroup winref

	Everything around action mapping and key processing
*/

/*!

	\defgroup database Database

	Everything around the database
*/

/*!
	\defgroup filesystem Filesystem
	Everything around the filesystem
*/

/*!
	\defgroup input Input
	Everything around input
*/

/*! \defgroup keyboard Keyboard
    \ingroup input

    Keyboard input is processed by \ref CInputManager and forwarded to
    registered keyboard handlers (e.g. game clients) or as actions to the UI:

    - If no keyboard handlers are registered or if they don't consume events,
      the keyboard events are forwarded to the UI via \ref CInputManager::OnKey.
    - Clients (e.g. game clients implementing \ref KEYBOARD::IKeyboardHandler) call
      \ref CInputManager::RegisterKeyboardHandler to register themselves as eligible
      for keyboard input events.
    - Keyboards can emulate Joysticks as described in KEYBOARD::CJoystickEmulation.
*/

/*!
	\defgroup mouse Mouse
	\ingroup input
	Everything around mouse

	Mouse input is processed by \ref CInputManager and forwarded to
	registered mouse handlers (e.g. game clients) or as actions to the UI:

	- If no mouse handlers are registered or if they don't consume events,
	  the mouse input events are forwarded to the UI via \ref CInputManager::ProcessMouse.
	- Clients (e.g. game clients implementing \ref MOUSE::IMouseInputHandler) call
	  \ref CInputManager::RegisterMouseHandler to register themselves as eligible
	  for mouse input events.
	- Mouse events (from \ref CInputManager::OnEvent) are collected via implementations of
	  \ref MOUSE::IMouseDriverHandler and transformed into higher level features by
	  \ref MOUSE::IMouseButtonMap instances before they are sent to the handlers.
*/

/*!
	\defgroup joystick Joystick
	\ingroup input
	Everything around joystick
*/

/*!
	\defgroup touch Touch
	\ingroup input
	Everything around touch detection
*/

/*!
	\defgroup touch_generic Touch
	\ingroup touch
	Everything around generic touch detection
*/

/*!
	\defgroup games
	Everything about RetroPlayer.
*/

/*!
	\defgroup interface Interfaces
	Everything around interfaces
*/

/*!
	\defgroup info Info
	\ingroup interface
	Everything around the info interface
*/

/*!
	\defgroup jsonrpc JSON-RPC
	\ingroup interface
	Everything around the json-rpc interface
*/

/*!
	\defgroup jsonrpc JSON-RPC
	\ingroup interface
	Everything around the json-rpc interface
*/

/*!
	\defgroup listproviders Listproviders
	Everything around the listproviders
*/

/*!
	\defgroup music Music info
	Elements used in my music
*/

/*!
	\defgroup settings Settings
	Everything around the settings
*/

/*!
	\defgroup windows Windows
	Kodi windows
*/
