28 #include <itkMutexLockHolder.h> 29 #include <itkSimpleFastMutexLock.h> 35 static itk::SimpleFastMutexLock mutex;
41 static std::map<us::ModuleContext *, std::map<void *, us::ServiceReferenceU>> serviceMap;
48 if (context ==
nullptr)
51 S *coreService =
nullptr;
55 coreService = context->GetService(serviceRef);
58 assert(coreService &&
"Asserting non-nullptr MITK core service");
69 return GetCoreService<IPropertyAliases>(context);
74 return GetCoreService<IPropertyDescriptions>(context);
79 return GetCoreService<IPropertyExtensions>(context);
84 return GetCoreService<IPropertyFilters>(context);
89 return GetCoreService<IPropertyPersistence>(context);
94 return GetCoreService<IPropertyRelations>(context);
99 return GetCoreService<IMimeTypeProvider>(context);
104 bool success =
false;
111 auto iter2 = iter->second.find(service);
112 if (iter2 != iter->second.end())
117 success = context->UngetService(serviceRef);
120 iter->second.erase(iter2);
Interface of property relations service.
Interface of property aliases service.
static IMimeTypeProvider * GetMimeTypeProvider(us::ModuleContext *context=us::GetModuleContext())
Get an IMimeTypeProvider instance.
static IPropertyExtensions * GetPropertyExtensions(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyExtensions instance.
DataCollection - Class to facilitate loading/accessing structured data.
Interface of property extensions service.
static IPropertyDescriptions * GetPropertyDescriptions(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyDescriptions instance.
Interface of property descriptions service.
static IPropertyRelations * GetPropertyRelations(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyRelations instance.
static IPropertyPersistence * GetPropertyPersistence(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyPersistence instance.
The IMimeTypeProvider service interface allows to query all registered mime types.
std::map< us::ModuleContext *, std::map< void *, us::ServiceReferenceU > > & s_ContextToServicesMap()
static S * GetCoreService(us::ModuleContext *context)
Interface of property persistence service.
Interface of property filters service.
itk::SimpleFastMutexLock & s_ContextToServicesMapMutex()
static IPropertyFilters * GetPropertyFilters(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyFilters instance.
static IPropertyAliases * GetPropertyAliases(us::ModuleContext *context=us::GetModuleContext())
Get an IPropertyAliases instance.
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.
static bool Unget(S *service, us::ModuleContext *context=us::GetModuleContext())
Unget a previously acquired service instance.