GammaRay API Documentation  2.7.0
Typedefs | Functions
GammaRay::ObjectBroker Namespace Reference

Retrieve/expose objects independent of whether using in-process or out-of-process UI. More...

Typedefs

typedef QObject *(* ClientObjectFactoryCallback) (const QString &, QObject *parent)
 
typedef QAbstractItemModel *(* ModelFactoryCallback) (const QString &)
 
typedef QItemSelectionModel *(* selectionModelFactoryCallback) (QAbstractItemModel *)
 

Functions

void clear ()
 Clear all registered objects. More...
 
bool hasObject (const QString &name)
 
bool hasSelectionModel (QAbstractItemModel *model)
 
QAbstractItemModelmodel (const QString &name)
 
template<class T >
object (const QString &name, T=nullptr)
 
template<class T >
object (T=nullptr)
 
QObjectobjectInternal (const QString &name, const QByteArray &type=QByteArray())
 
template<class T >
void registerClientObjectFactoryCallback (ClientObjectFactoryCallback callback, T=nullptr)
 
void registerClientObjectFactoryCallbackInternal (const QByteArray &type, ClientObjectFactoryCallback callback)
 
void registerModelInternal (const QString &name, QAbstractItemModel *model)
 
void registerObject (const QString &name, QObject *object)
 
template<class T >
void registerObject (QObject *object)
 
void registerSelectionModel (QItemSelectionModel *selectionModel)
 
QItemSelectionModelselectionModel (QAbstractItemModel *model)
 
void setModelFactoryCallback (ModelFactoryCallback callback)
 
void setSelectionModelFactoryCallback (selectionModelFactoryCallback callback)
 
void unregisterSelectionModel (QItemSelectionModel *selectionModel)
 

Detailed Description

Retrieve/expose objects independent of whether using in-process or out-of-process UI.

Function Documentation

void GammaRay::ObjectBroker::clear ( )

Clear all registered objects.

This also destroys all objects created by factory methods registered here, but not externally created objects that have just been registered here. Useful when the probe is deleted, or the client lost the connection.

bool GammaRay::ObjectBroker::hasObject ( const QString name)

Checks whether an object with the given name is registered already.

bool GammaRay::ObjectBroker::hasSelectionModel ( QAbstractItemModel model)

Checks whether a selection model for the given model is registered already.

QAbstractItemModel* GammaRay::ObjectBroker::model ( const QString name)

Retrieve a model by name.

template<class T >
T GammaRay::ObjectBroker::object ( const QString name,
= nullptr 
)

Retrieve an object by name implementing interface T.

Use this if multiple objects of the given type have been registered. Otherwise the function below is simpler and more failsafe.

NOTE: the "T = nullptr" is just to ensure a pointer type is given.

template<class T >
T GammaRay::ObjectBroker::object ( = nullptr)

Retrieve object implementing interface T.

This only works if a single type was registered implementing this interface using qobject_interface_iid as object name.

In most cases this is the simplest way for tools to get an object.

NOTE: the "T = nullptr" is just to ensure a pointer type is given.

QObject* GammaRay::ObjectBroker::objectInternal ( const QString name,
const QByteArray type = QByteArray() 
)

Retrieve object by name.

template<class T >
void GammaRay::ObjectBroker::registerClientObjectFactoryCallback ( ClientObjectFactoryCallback  callback,
= nullptr 
)

Register a callback for a factory of a given interface to create remote object stubs for the given type.

NOTE: the "T = nullptr" is just to ensure a pointer type is given.

void GammaRay::ObjectBroker::registerClientObjectFactoryCallbackInternal ( const QByteArray type,
ClientObjectFactoryCallback  callback 
)

Register a callback for a factory to create remote object stubs for the given type.

void GammaRay::ObjectBroker::registerModelInternal ( const QString name,
QAbstractItemModel model 
)

Register a newly created model with the given name.

NOTE: This must not be called directly by anything but the probe/server side. User code must use Probe::registerModel() instead!

void GammaRay::ObjectBroker::registerObject ( const QString name,
QObject object 
)

Register a newly created QObject under the given name.

void GammaRay::ObjectBroker::registerSelectionModel ( QItemSelectionModel selectionModel)

Register a newly created selection model.

QItemSelectionModel* GammaRay::ObjectBroker::selectionModel ( QAbstractItemModel model)

Retrieve the selection model for model.

void GammaRay::ObjectBroker::setModelFactoryCallback ( ModelFactoryCallback  callback)

Set a callback for the case that a model was requested but had not been registered before.

void GammaRay::ObjectBroker::setSelectionModelFactoryCallback ( selectionModelFactoryCallback  callback)

Set a callback for the case that a selection model was requested but had not been registered before.

void GammaRay::ObjectBroker::unregisterSelectionModel ( QItemSelectionModel selectionModel)

Unregisters a selection model. You have to take care of deletion yourself.


Klarälvdalens Datakonsult AB (KDAB)
"The Qt Experts"
https://www.kdab.com/
GammaRay
Qt-application inspection and manipulation tool
https://www.kdab.com/gammaray/