LibreOffice Module cppuhelper (master)  1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
cppuhelper::ServiceManager Class Reference

#include <servicemanager.hxx>

Inheritance diagram for cppuhelper::ServiceManager:
[legend]
Collaboration diagram for cppuhelper::ServiceManager:
[legend]

Classes

struct  Data
 

Public Member Functions

 ServiceManager ()
 
 ServiceManager (const ServiceManager &)=delete
 
const ServiceManageroperator= (const ServiceManager &)=delete
 
void init (OUString const &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 (OUString const &uri, bool optional)
 
void readRdbFile (OUString const &uri, bool optional)
 
bool readLegacyRdbFile (OUString const &uri)
 
OUString readLegacyRdbString (OUString const &uri, RegistryKey &key, OUString const &path)
 
void readLegacyRdbStrings (OUString const &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::ImplementationfindServiceImplementation (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_
 
- Private Attributes inherited from cppu::BaseMutex
mutable::osl::Mutex m_aMutex
 

Detailed Description

Definition at line 62 of file servicemanager.hxx.

Constructor & Destructor Documentation

cppuhelper::ServiceManager::ServiceManager ( )
inline

Definition at line 187 of file servicemanager.hxx.

cppuhelper::ServiceManager::ServiceManager ( const ServiceManager )
delete
cppuhelper::ServiceManager::~ServiceManager ( )
overrideprivatevirtual

Definition at line 1301 of file servicemanager.cxx.

Member Function Documentation

void cppuhelper::ServiceManager::addPropertyChangeListener ( OUString const &  aPropertyName,
css::uno::Reference< css::beans::XPropertyChangeListener > const &  xListener 
)
overrideprivatevirtual

Definition at line 1226 of file servicemanager.cxx.

void cppuhelper::ServiceManager::addSingletonContextEntries ( std::vector< cppu::ContextEntry_Init > *  entries)
void cppuhelper::ServiceManager::addVetoableChangeListener ( OUString const &  PropertyName,
css::uno::Reference< css::beans::XVetoableChangeListener > const &  aListener 
)
overrideprivatevirtual

Definition at line 1252 of file servicemanager.cxx.

css::uno::Reference< css::container::XEnumeration > cppuhelper::ServiceManager::createContentEnumeration ( OUString const &  aServiceName)
overrideprivatevirtual
css::uno::Reference< css::container::XEnumeration > cppuhelper::ServiceManager::createEnumeration ( )
overrideprivatevirtual

Definition at line 1031 of file servicemanager.cxx.

css::uno::Reference< css::uno::XInterface > cppuhelper::ServiceManager::createInstance ( OUString const &  aServiceSpecifier)
overrideprivatevirtual

Definition at line 962 of file servicemanager.cxx.

References assert(), context_, and createInstanceWithContext().

css::uno::Reference< css::uno::XInterface > cppuhelper::ServiceManager::createInstanceWithArguments ( OUString const &  ServiceSpecifier,
css::uno::Sequence< css::uno::Any > const &  Arguments 
)
overrideprivatevirtual

Definition at line 970 of file servicemanager.cxx.

References assert(), context_, and createInstanceWithArgumentsAndContext().

css::uno::Reference< css::uno::XInterface > cppuhelper::ServiceManager::createInstanceWithArgumentsAndContext ( OUString const &  ServiceSpecifier,
css::uno::Sequence< css::uno::Any > const &  Arguments,
css::uno::Reference< css::uno::XComponentContext > const &  Context 
)
overrideprivatevirtual

Definition at line 1006 of file servicemanager.cxx.

References findServiceImplementation().

Referenced by createInstanceWithArguments().

css::uno::Reference< css::uno::XInterface > cppuhelper::ServiceManager::createInstanceWithContext ( OUString const &  aServiceSpecifier,
css::uno::Reference< css::uno::XComponentContext > const &  Context 
)
overrideprivatevirtual

Definition at line 995 of file servicemanager.cxx.

References findServiceImplementation().

Referenced by createInstance().

void cppuhelper::ServiceManager::disposing ( )
overrideprivatevirtual
void cppuhelper::ServiceManager::disposing ( css::lang::EventObject const &  Source)
overrideprivatevirtual

Definition at line 1303 of file servicemanager.cxx.

References removeLegacyFactory().

std::shared_ptr< cppuhelper::ServiceManager::Data::Implementation > cppuhelper::ServiceManager::findServiceImplementation ( css::uno::Reference< css::uno::XComponentContext > const &  context,
OUString const &  specifier 
)
private
css::uno::Sequence< OUString > cppuhelper::ServiceManager::getAvailableServiceNames ( )
overrideprivatevirtual
css::uno::Reference< css::uno::XComponentContext > const& cppuhelper::ServiceManager::getContext ( ) const
inline

Definition at line 208 of file servicemanager.hxx.

References assert(), and context_.

css::uno::Type cppuhelper::ServiceManager::getElementType ( )
overrideprivatevirtual

Definition at line 1017 of file servicemanager.cxx.

OUString cppuhelper::ServiceManager::getImplementationName ( )
overrideprivatevirtual

Definition at line 943 of file servicemanager.cxx.

css::uno::Sequence< css::beans::Property > cppuhelper::ServiceManager::getProperties ( )
overrideprivatevirtual

Definition at line 1279 of file servicemanager.cxx.

References props.

css::beans::Property cppuhelper::ServiceManager::getPropertyByName ( OUString const &  aName)
overrideprivatevirtual

Definition at line 1285 of file servicemanager.cxx.

css::uno::Reference< css::beans::XPropertySetInfo > cppuhelper::ServiceManager::getPropertySetInfo ( )
overrideprivatevirtual

Definition at line 1198 of file servicemanager.cxx.

css::uno::Any cppuhelper::ServiceManager::getPropertyValue ( OUString const &  PropertyName)
overrideprivatevirtual

Definition at line 1215 of file servicemanager.cxx.

References assert(), and context_.

css::uno::Sequence< OUString > cppuhelper::ServiceManager::getSupportedServiceNames ( )
overrideprivatevirtual

Definition at line 956 of file servicemanager.cxx.

sal_Bool cppuhelper::ServiceManager::has ( css::uno::Any const &  aElement)
overrideprivatevirtual

Definition at line 1038 of file servicemanager.cxx.

sal_Bool cppuhelper::ServiceManager::hasElements ( )
overrideprivatevirtual
sal_Bool cppuhelper::ServiceManager::hasPropertyByName ( OUString const &  Name)
overrideprivatevirtual

Definition at line 1295 of file servicemanager.cxx.

void cppuhelper::ServiceManager::init ( OUString const &  rdbUris)
void cppuhelper::ServiceManager::initialize ( css::uno::Sequence< css::uno::Any > const &  aArguments)
overrideprivatevirtual

Definition at line 929 of file servicemanager.cxx.

References preloadImplementations().

void cppuhelper::ServiceManager::insert ( css::uno::Any const &  aElement)
overrideprivatevirtual

Definition at line 1045 of file servicemanager.cxx.

References args, insertLegacyFactory(), insertRdbFiles(), and SAL_WARN.

bool cppuhelper::ServiceManager::insertExtraData ( Data const &  extra)
private
void cppuhelper::ServiceManager::insertLegacyFactory ( css::uno::Reference< css::lang::XServiceInfo > const &  factoryInfo)
private
void cppuhelper::ServiceManager::insertRdbFiles ( std::vector< OUString > const &  uris,
css::uno::Reference< css::uno::XComponentContext > const &  alientContext 
)
private

Definition at line 1530 of file servicemanager.cxx.

References insertExtraData().

Referenced by insert().

bool cppuhelper::ServiceManager::isDisposed ( ) const
inlineprivate
void cppuhelper::ServiceManager::loadImplementation ( css::uno::Reference< css::uno::XComponentContext > const &  context,
std::shared_ptr< Data::Implementation > const &  implementation 
)
const ServiceManager& cppuhelper::ServiceManager::operator= ( const ServiceManager )
delete
void cppuhelper::ServiceManager::preloadImplementations ( )
private

Used only by LibreOfficeKit when used by Online to pre-initialize.

Allow external callers & testers to disable certain components

Definition at line 1827 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().

bool cppuhelper::ServiceManager::readLegacyRdbFile ( OUString const &  uri)
private
OUString cppuhelper::ServiceManager::readLegacyRdbString ( OUString const &  uri,
RegistryKey key,
OUString const &  path 
)
private
void cppuhelper::ServiceManager::readLegacyRdbStrings ( OUString const &  uri,
RegistryKey key,
OUString const &  path,
std::vector< OUString > *  strings 
)
private
void cppuhelper::ServiceManager::readRdbDirectory ( OUString const &  uri,
bool  optional 
)
private

Definition at line 1342 of file servicemanager.cxx.

References cppu::nextDirectoryItem(), readRdbFile(), and SAL_INFO.

Referenced by init().

void cppuhelper::ServiceManager::readRdbFile ( OUString const &  uri,
bool  optional 
)
private

Definition at line 1369 of file servicemanager.cxx.

References data_, readLegacyRdbFile(), and SAL_INFO.

Referenced by init(), and readRdbDirectory().

void cppuhelper::ServiceManager::remove ( css::uno::Any const &  aElement)
overrideprivatevirtual
void cppuhelper::ServiceManager::removeEventListenerFromComponent ( css::uno::Reference< css::lang::XComponent > const &  component)
private

Definition at line 1312 of file servicemanager.cxx.

References assert(), and SAL_INFO.

Referenced by disposing(), and removeLegacyFactory().

void cppuhelper::ServiceManager::removeImplementation ( const OUString &  name)
private
bool cppuhelper::ServiceManager::removeLegacyFactory ( css::uno::Reference< css::lang::XServiceInfo > const &  factoryInfo,
bool  removeListener 
)
private
void cppuhelper::ServiceManager::removePropertyChangeListener ( OUString const &  aPropertyName,
css::uno::Reference< css::beans::XPropertyChangeListener > const &  aListener 
)
overrideprivatevirtual

Definition at line 1239 of file servicemanager.cxx.

void cppuhelper::ServiceManager::removeRdbFiles ( std::vector< OUString > const &  uris)
private
void cppuhelper::ServiceManager::removeVetoableChangeListener ( OUString const &  PropertyName,
css::uno::Reference< css::beans::XVetoableChangeListener > const &  aListener 
)
overrideprivatevirtual

Definition at line 1265 of file servicemanager.cxx.

void cppuhelper::ServiceManager::setContext ( css::uno::Reference< css::uno::XComponentContext > const &  context)
inline

Definition at line 197 of file servicemanager.hxx.

References assert(), and context_.

void cppuhelper::ServiceManager::setPropertyValue ( OUString const &  aPropertyName,
css::uno::Any const &  aValue 
)
overrideprivatevirtual

Definition at line 1203 of file servicemanager.cxx.

sal_Bool cppuhelper::ServiceManager::supportsService ( OUString const &  ServiceName)
overrideprivatevirtual

Definition at line 949 of file servicemanager.cxx.

References cppu::supportsService().

Member Data Documentation

css::uno::Reference< css::uno::XComponentContext > cppuhelper::ServiceManager::context_
private
Data cppuhelper::ServiceManager::data_
private

The documentation for this class was generated from the following files: