LibreOffice Module cppuhelper (master) 1
|
#include <servicemanager.hxx>
Classes | |
struct | Data |
Public Member Functions | |
ServiceManager () | |
ServiceManager (const ServiceManager &)=delete | |
const ServiceManager & | operator= (const ServiceManager &)=delete |
void | init (std::u16string_view rdbUris) |
void | setContext (css::uno::Reference< css::uno::XComponentContext > const &context) |
void | addSingletonContextEntries (std::vector< cppu::ContextEntry_Init > *entries) |
css::uno::Reference< css::uno::XComponentContext > const & | getContext () const |
void | loadImplementation (css::uno::Reference< css::uno::XComponentContext > const &context, std::shared_ptr< Data::Implementation > const &implementation) |
Private Member Functions | |
virtual | ~ServiceManager () override |
virtual void SAL_CALL | disposing () override |
virtual OUString SAL_CALL | getImplementationName () override |
virtual sal_Bool SAL_CALL | supportsService (OUString const &ServiceName) override |
virtual css::uno::Sequence< OUString > SAL_CALL | getSupportedServiceNames () override |
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL | createInstance (OUString const &aServiceSpecifier) override |
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL | createInstanceWithArguments (OUString const &ServiceSpecifier, css::uno::Sequence< css::uno::Any > const &Arguments) override |
virtual css::uno::Sequence< OUString > SAL_CALL | getAvailableServiceNames () override |
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL | createInstanceWithContext (OUString const &aServiceSpecifier, css::uno::Reference< css::uno::XComponentContext > const &Context) override |
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL | createInstanceWithArgumentsAndContext (OUString const &ServiceSpecifier, css::uno::Sequence< css::uno::Any > const &Arguments, css::uno::Reference< css::uno::XComponentContext > const &Context) override |
virtual css::uno::Type SAL_CALL | getElementType () override |
virtual sal_Bool SAL_CALL | hasElements () override |
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL | createEnumeration () override |
virtual sal_Bool SAL_CALL | has (css::uno::Any const &aElement) override |
virtual void SAL_CALL | insert (css::uno::Any const &aElement) override |
virtual void SAL_CALL | remove (css::uno::Any const &aElement) override |
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL | createContentEnumeration (OUString const &aServiceName) override |
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL | getPropertySetInfo () override |
virtual void SAL_CALL | setPropertyValue (OUString const &aPropertyName, css::uno::Any const &aValue) override |
virtual css::uno::Any SAL_CALL | getPropertyValue (OUString const &PropertyName) override |
virtual void SAL_CALL | addPropertyChangeListener (OUString const &aPropertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &xListener) override |
virtual void SAL_CALL | removePropertyChangeListener (OUString const &aPropertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &aListener) override |
virtual void SAL_CALL | addVetoableChangeListener (OUString const &PropertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &aListener) override |
virtual void SAL_CALL | removeVetoableChangeListener (OUString const &PropertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &aListener) override |
virtual css::uno::Sequence< css::beans::Property > SAL_CALL | getProperties () override |
virtual css::beans::Property SAL_CALL | getPropertyByName (OUString const &aName) override |
virtual sal_Bool SAL_CALL | hasPropertyByName (OUString const &Name) override |
virtual void SAL_CALL | disposing (css::lang::EventObject const &Source) override |
virtual void SAL_CALL | initialize (css::uno::Sequence< css::uno::Any > const &aArguments) override |
bool | isDisposed () const |
void | removeEventListenerFromComponent (css::uno::Reference< css::lang::XComponent > const &component) |
void | readRdbDirectory (std::u16string_view uri, bool optional) |
void | readRdbFile (OUString const &uri, bool optional) |
bool | readLegacyRdbFile (OUString const &uri) |
OUString | readLegacyRdbString (std::u16string_view uri, RegistryKey &key, OUString const &path) |
void | readLegacyRdbStrings (std::u16string_view uri, RegistryKey &key, OUString const &path, std::vector< OUString > *strings) |
void | insertRdbFiles (std::vector< OUString > const &uris, css::uno::Reference< css::uno::XComponentContext > const &alientContext) |
void | insertLegacyFactory (css::uno::Reference< css::lang::XServiceInfo > const &factoryInfo) |
bool | insertExtraData (Data const &extra) |
void | removeRdbFiles (std::vector< OUString > const &uris) |
bool | removeLegacyFactory (css::uno::Reference< css::lang::XServiceInfo > const &factoryInfo, bool removeListener) |
void | removeImplementation (const OUString &name) |
std::shared_ptr< Data::Implementation > | findServiceImplementation (css::uno::Reference< css::uno::XComponentContext > const &context, OUString const &specifier) |
void | preloadImplementations () |
Used only by LibreOfficeKit when used by Online to pre-initialize. More... | |
Private Attributes | |
css::uno::Reference< css::uno::XComponentContext > | context_ |
Data | data_ |
![]() | |
mutable::osl::Mutex | m_aMutex |
Definition at line 64 of file servicemanager.hxx.
|
inline |
Definition at line 187 of file servicemanager.hxx.
|
delete |
|
overrideprivatevirtual |
Definition at line 1285 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1212 of file servicemanager.cxx.
void cppuhelper::ServiceManager::addSingletonContextEntries | ( | std::vector< cppu::ContextEntry_Init > * | entries | ) |
Definition at line 770 of file servicemanager.cxx.
References data_, SAL_INFO_IF, and cppuhelper::ServiceManager::Data::singletons.
|
overrideprivatevirtual |
Definition at line 1238 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1136 of file servicemanager.cxx.
References data_, i, isDisposed(), cppuhelper::ServiceManager::Data::services, cppuhelper::ServiceManager::Data::Implementation::STATUS_NEW, and cppuhelper::ServiceManager::Data::Implementation::STATUS_WRAPPER.
|
overrideprivatevirtual |
Definition at line 1035 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 966 of file servicemanager.cxx.
References context_, and createInstanceWithContext().
|
overrideprivatevirtual |
Definition at line 974 of file servicemanager.cxx.
References context_, and createInstanceWithArgumentsAndContext().
|
overrideprivatevirtual |
Definition at line 1010 of file servicemanager.cxx.
References findServiceImplementation().
Referenced by createInstanceWithArguments().
|
overrideprivatevirtual |
Definition at line 999 of file servicemanager.cxx.
References findServiceImplementation().
Referenced by createInstance().
|
overrideprivatevirtual |
Definition at line 885 of file servicemanager.cxx.
References data_, cppuhelper::ServiceManager::Data::dynamicImplementations, cppuhelper::ServiceManager::Data::namedImplementations, removeEventListenerFromComponent(), SAL_WARN, cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
|
overrideprivatevirtual |
Definition at line 1287 of file servicemanager.cxx.
References removeLegacyFactory(), and Source.
|
private |
Definition at line 1748 of file servicemanager.cxx.
References data_, i, loadImplementation(), cppuhelper::ServiceManager::Data::namedImplementations, SAL_INFO, SAL_INFO_IF, cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::Implementation::STATUS_LOADED.
Referenced by createInstanceWithArgumentsAndContext(), and createInstanceWithContext().
|
overrideprivatevirtual |
Definition at line 984 of file servicemanager.cxx.
References data_, isDisposed(), o3tl::make_unsigned(), comphelper::mapKeysToSequence(), SAL_MAX_INT32, and cppuhelper::ServiceManager::Data::services.
|
inline |
Definition at line 208 of file servicemanager.hxx.
References context_.
|
overrideprivatevirtual |
Definition at line 1021 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 947 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1265 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1269 of file servicemanager.cxx.
References aName.
|
overrideprivatevirtual |
Definition at line 1184 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1201 of file servicemanager.cxx.
References context_.
|
overrideprivatevirtual |
Definition at line 960 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1042 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 1026 of file servicemanager.cxx.
References data_, cppuhelper::ServiceManager::Data::dynamicImplementations, and cppuhelper::ServiceManager::Data::namedImplementations.
|
overrideprivatevirtual |
Definition at line 1279 of file servicemanager.cxx.
References Name.
void cppuhelper::ServiceManager::init | ( | std::u16string_view | rdbUris | ) |
Definition at line 1309 of file servicemanager.cxx.
References cppu::decodeRdbUri(), o3tl::getToken(), i, readRdbDirectory(), and readRdbFile().
Referenced by cppuhelper::ServiceManager::Data::Implementation::doCreateInstanceWithArguments().
|
overrideprivatevirtual |
Definition at line 933 of file servicemanager.cxx.
References aArguments, and preloadImplementations().
|
overrideprivatevirtual |
Definition at line 1049 of file servicemanager.cxx.
References args, insertLegacyFactory(), and insertRdbFiles().
|
private |
Definition at line 1573 of file servicemanager.cxx.
References context_, data_, cppuhelper::ServiceManager::Data::dynamicImplementations, i, isDisposed(), name, cppuhelper::ServiceManager::Data::namedImplementations, SAL_INFO, SAL_INFO_IF, cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
Referenced by insertLegacyFactory(), and insertRdbFiles().
|
private |
Definition at line 1536 of file servicemanager.cxx.
References comp, cppuhelper::ServiceManager::Data::dynamicImplementations, i, insertExtraData(), name, cppuhelper::ServiceManager::Data::namedImplementations, and cppuhelper::ServiceManager::Data::services.
Referenced by insert().
|
private |
Definition at line 1514 of file servicemanager.cxx.
References insertExtraData().
Referenced by insert().
|
inlineprivate |
Definition at line 312 of file servicemanager.hxx.
Referenced by createContentEnumeration(), getAvailableServiceNames(), insertExtraData(), loadImplementation(), removeImplementation(), and removeLegacyFactory().
void cppuhelper::ServiceManager::loadImplementation | ( | css::uno::Reference< css::uno::XComponentContext > const & | context, |
std::shared_ptr< Data::Implementation > const & | implementation | ||
) |
Definition at line 792 of file servicemanager.cxx.
References cppu::bootstrap_expandUri(), isDisposed(), loader, cppuhelper::detail::loadSharedLibComponentFactory(), SAL_WARN_IF, and cppuhelper::ServiceManager::Data::Implementation::STATUS_LOADED.
Referenced by findServiceImplementation().
|
delete |
|
private |
Used only by LibreOfficeKit when used by Online to pre-initialize.
Allow external callers & testers to disable certain components
Definition at line 1812 of file servicemanager.cxx.
References cppu::bootstrap_expandUri(), COMPONENT_GETFACTORY, data_, cppuhelper::detail::getEnvironment(), i, cppuhelper::ServiceManager::Data::namedImplementations, OUStringToOString(), simplifyModule(), cppuhelper::ServiceManager::Data::Implementation::STATUS_LOADED, and xFactory.
Referenced by initialize().
|
private |
Definition at line 1379 of file servicemanager.cxx.
References data_, RegistryKeyArray::getElement(), RegistryKeyArray::getLength(), RegistryKey::getName(), i, name, cppuhelper::ServiceManager::Data::namedImplementations, Registry::open(), Registry::openRootKey(), RegistryKey::openSubKeys(), readLegacyRdbString(), readLegacyRdbStrings(), cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
Referenced by readRdbFile().
|
private |
Definition at line 1452 of file servicemanager.cxx.
References RegistryKey::getValue(), RegistryKey::getValueInfo(), o3tl::make_unsigned(), RegistryKey::openKey(), RegValueType, SAL_MAX_INT32, t, and v.
Referenced by readLegacyRdbFile().
|
private |
Definition at line 1485 of file servicemanager.cxx.
References RegistryKeyNames::getElement(), RegistryKey::getKeyNames(), RegistryKeyNames::getLength(), RegistryKey::getName(), i, RegistryKey::openKey(), and prefix.
Referenced by readLegacyRdbFile().
|
private |
Definition at line 1326 of file servicemanager.cxx.
References cppu::nextDirectoryItem(), readRdbFile(), and SAL_INFO.
Referenced by init().
|
private |
Definition at line 1353 of file servicemanager.cxx.
References data_, readLegacyRdbFile(), and SAL_INFO.
Referenced by init(), and readRdbDirectory().
|
overrideprivatevirtual |
Definition at line 1094 of file servicemanager.cxx.
References args, i, removeImplementation(), removeLegacyFactory(), and removeRdbFiles().
|
private |
Definition at line 1296 of file servicemanager.cxx.
References SAL_INFO.
Referenced by disposing(), and removeLegacyFactory().
|
private |
Definition at line 1716 of file servicemanager.cxx.
References data_, cppuhelper::ServiceManager::Data::dynamicImplementations, i, isDisposed(), name, cppuhelper::ServiceManager::Data::namedImplementations, cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
Referenced by remove().
|
private |
Definition at line 1681 of file servicemanager.cxx.
References comp, data_, cppuhelper::ServiceManager::Data::dynamicImplementations, i, isDisposed(), cppuhelper::ServiceManager::Data::namedImplementations, removeEventListenerFromComponent(), removeListener(), cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
Referenced by disposing(), and remove().
|
overrideprivatevirtual |
Definition at line 1225 of file servicemanager.cxx.
|
private |
Definition at line 1646 of file servicemanager.cxx.
References data_, cppuhelper::ServiceManager::Data::namedImplementations, cppuhelper::ServiceManager::Data::services, and cppuhelper::ServiceManager::Data::singletons.
Referenced by remove().
|
overrideprivatevirtual |
Definition at line 1251 of file servicemanager.cxx.
|
inline |
Definition at line 197 of file servicemanager.hxx.
References context_.
|
overrideprivatevirtual |
Definition at line 1189 of file servicemanager.cxx.
|
overrideprivatevirtual |
Definition at line 953 of file servicemanager.cxx.
References ServiceName, and cppu::supportsService().
|
private |
Definition at line 355 of file servicemanager.hxx.
Referenced by createInstance(), createInstanceWithArguments(), getContext(), getPropertyValue(), insertExtraData(), and setContext().
|
private |
Definition at line 356 of file servicemanager.hxx.
Referenced by addSingletonContextEntries(), createContentEnumeration(), disposing(), findServiceImplementation(), getAvailableServiceNames(), hasElements(), insertExtraData(), preloadImplementations(), readLegacyRdbFile(), readRdbFile(), removeImplementation(), removeLegacyFactory(), and removeRdbFiles().