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

Provides base methods to register components statically in code. More...

#include <ComponentProvider.h>

Inherits IComponentProvider.

Inherited by DirectoryWatchingComponentProvider, and FileComponentProvider.

Public Member Functions

 ComponentProvider (QObject *parent=nullptr)
 
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 Member Functions

virtual bool onInitialize ()
 
- 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)
 

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)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Provides base methods to register components statically in code.

Created by defaul in the BootloaderBase::createComponentProvider() method during boot loading sequence. You can override BootloaderBase::createComponentProvider() method to instantiate your own component provider (e.g. DirectoryComponentProvider, that can discovering components in the file system).

You also might to override BootloaderBase::configureComponentProvider() to add compile-time-known components statically in code using registerComponent() method:

* class MyBootloader : public CarouselBootloader
* {
* protected:
* void MyBootloader::configureComponentProvider()
* {
* m_componentProvider->registerComponent(new MyComponentA());
* m_componentProvider->registerComponent(new MyComponentB());
* }
* };
*

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

Note
it does not take ownership for registered components.

Member Function Documentation

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

Gets the all components registered at the provider.

Implements IComponentProvider.

bool ComponentProvider::initialize ( )
virtual

Initializes the provider, which may load and validate the components. Returns true, if initialization was succesful; otherwise, returns false.

Implements IComponentProvider.

bool ComponentProvider::isInitialized ( ) const
virtual

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

Implements IComponentProvider.

void ComponentProvider::registerComponent ( IComponent component)
virtual

Registers the specified component at the provider. Usually, you can register the same components or components with same names using existing providers, but when components will be pushed to the IComponentManager from the providers - the last one doesn't allow duplicating components. Null pointers will be skipped.

Implements IComponentProvider.

virtual bool ComponentProvider::onInitialize ( )
protectedvirtual

It is a defensive declaration of the public initialize() method, that invokes only if provider is not initialized yet. When override in derived classes initializes the provider, which may load and validate the components. Nothing to do by default.

Reimplemented in FileComponentProvider, and DirectoryWatchingComponentProvider.