services C++ namespace offers an easy and efficient alternative for obtaining a service as compared to the indirect XPCOM approach:
CallGetService(), etc methods are expensive and should be avoided when possible.
To use it, you first need to include the header into your C++ file:
Then you can obtain references to services by simply accessing them from the
mozilla::services namespace. For example, to obtain a reference to the IOService:
nsCOMPtr<nsIIOService> ioService = mozilla::services::GetIOService();
Provided service getters
|Service Accessor||Service Interface||Service Name|
| || ||Chrome Registry service|
| || ||IO Service|
| || ||Observer service|
| || ||String Bundle Service|
| || ||Toolkit Chrome Registry service|
| || ||XUL Chrome Registry service|
| || ||XUL Overlay Provider service|
More services will be added as needed.