Carousel
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Pages
Public Member Functions | Protected Attributes | List of all members
CompositeComponentProvider Class Reference

The CompositeComponentProvider class provides access to members that control a collection of providers that behaves like a single provider. More...

#include <CompositeComponentProvider.h>

Inherits IComponentProvider.

Public Member Functions

 CompositeComponentProvider (QObject *parent=nullptr)
 
CompositeComponentProvideraddProvider (IComponentProvider *provider)
 
QList< IComponent * > components () const
 
bool initialize ()
 
bool isInitialized () const
 
void registerComponent (IComponent *component)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Protected Attributes

QList< IComponentProvider * > m_providers
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The CompositeComponentProvider class provides access to members that control a collection of providers that behaves like a single provider.

You can use this class overriding the BootloaderBase::createComponentProvider() method in your bootloader. For example, if you want your application discovers system components from the nested "bin/" directory and custom user components from the "plugins/" it is a good idea to use CompositeComponentProvider class:

* class MyBootloader : public CarouselBootloader
* {
* protected:
* IComponentProvider *MyBootloader::createComponentProvider()
* {
* }
* void MyBootloader::configureComponentProvider()
* {
* (static_cast<CompositeComponentProvider *>(m_componentProvider))->addProvider(sysDir);
*
* DirectoryComponentProvider *contribProvider = new DirectoryComponentProvider("plugins/");
* (static_cast<CompositeComponentProvider *>(m_componentProvider))->addProvider(contribProvider);
* }
* // other customization
* // ....
* };
*

The ComponentProvider also serves as a base class for more specialized Providers.

Note
it takes ownership for added providers, but not for components.

Constructor & Destructor Documentation

CompositeComponentProvider::CompositeComponentProvider ( QObject parent = nullptr)
explicit

Initializes a new instance of the CompositeComponentProvider class and adds a default ComponentProvider to the providers list.

Member Function Documentation

CompositeComponentProvider& CompositeComponentProvider::addProvider ( IComponentProvider provider)

Adds the provider to the list of providers. Also takes ownership for the provider.

QList<IComponent *> CompositeComponentProvider::components ( ) const
virtual

Gets the all components that are registered at the providers.

Implements IComponentProvider.

bool CompositeComponentProvider::initialize ( )
virtual

Initializes the all providers, which may load and validate the components.

Implements IComponentProvider.

bool CompositeComponentProvider::isInitialized ( ) const
virtual

Returns true, if provider alreadyinitialzied; otherwise, returns false.

Implements IComponentProvider.

void CompositeComponentProvider::registerComponent ( IComponent component)
virtual

Registers the specified component at the default provider. Null pointers will be skipped.

Implements IComponentProvider.

Member Data Documentation

QList<IComponentProvider *> CompositeComponentProvider::m_providers
protected

The list of added providers.