MP-II Developers System Documentation
Introduction
This is a sort of index page for architectural documents in MediaPortal-II development. It contains architectural overview pictures, interface descriptions, and some descriptions of important code parts such as the plugin system. If you are a MP-II developer, please feel free to improve this page and add additional developer documentation.
If you haven't already, please visit the MediaPortal2 Development page for a more general overview of information about the MediaPortal II development.
Architectural overview
This section contains architectural documents giving an overview of the complete MediaPortal II system.
General architecture (to be added)
Naming Rules / Namespaces
This section contains details of the name rules and namespaces used in the development of MediaPortal II.
C# Projects/Modules
After the project layout has stabilized, each project will be described here. Till this time, ../SVN_layout will help to understand the meaning of each sub folder and project.
Executable applications
Describes all executables used in MP-II development as the different MP-II starter, support tools, ... (to be added)
Important application parts and their usage
- This section will focus on some very important application parts and give helpful information for understanding and using them.
ServiceScope - getting instances of application services
The ServiceScope class is responsible for holding all application-wide accessible service instances. A service in this context is a piece of code which fulfills a specific function, defined by an interface. A service can be responsible for logging (interface ILogger), messaging (IMessageBroker) or other application tasks. The ServiceScope class supplies methods to get, set and remove a service for a special interface.
Another important feature of this class is that a new instance of ServiceScope can be stacked upon the current one. When a new ServiceScope instance is created, this one becomes the current service scope, and it inherits all services registered at the former service scope, except those services are registered at the new ServiceScope instance.
So it is possible to temporarily blend in other service instances for future calls to ServiceScope<...>.Get().
For more information, see the docs for class MediaPortal.Core.ServiceScope.
Core Services
- All core services are exposed through the Service Scope.
- Settings (to be added)
TaskScheduler (to be added)
- Threading (to be added)
UserManagement (To be included in a later release)
Writing plugins
Describes the plugin interface and the way how to write plugins (to be added)
MP-II skinning
- Will describe the XAML interface of MP-II, links to XAML resources, links to the XAML site here
MediaPortal Wiki 