29 #ifndef GAMMARAY_OBJECTBROKER_H
30 #define GAMMARAY_OBJECTBROKER_H
32 #include "gammaray_common_export.h"
36 class QItemSelectionModel;
37 class QAbstractItemModel;
42 namespace ObjectBroker {
45 GAMMARAY_COMMON_EXPORT
void registerObject(
const QString &name, QObject *
object);
49 const QString interfaceName = QString::fromUtf8(qobject_interface_iid<T>());
54 GAMMARAY_COMMON_EXPORT QObject*
objectInternal(
const QString &name,
const QByteArray &type = QByteArray());
67 T ret = qobject_cast<T>(
objectInternal(name, QByteArray(qobject_interface_iid<T>())));
85 const QByteArray interfaceName(qobject_interface_iid<T>());
86 T ret = qobject_cast<T>(
objectInternal(QString::fromUtf8(interfaceName), interfaceName));
91 typedef QObject*(*ClientObjectFactoryCallback)(
const QString &, QObject *parent);
116 GAMMARAY_COMMON_EXPORT QAbstractItemModel*
model(
const QString &name);
118 typedef QAbstractItemModel*(*ModelFactoryCallback)(
const QString &);
133 typedef QItemSelectionModel*(*selectionModelFactoryCallback)(QAbstractItemModel*);
144 GAMMARAY_COMMON_EXPORT
void clear();
148 #endif // GAMMARAY_OBJECTBROKER_H
void unregisterSelectionModel(QItemSelectionModel *selectionModel)
void registerClientObjectFactoryCallbackInternal(const QByteArray &type, ClientObjectFactoryCallback callback)
bool hasSelectionModel(QAbstractItemModel *model)
T object(const QString &name, T=0)
Definition: objectbroker.h:65
void registerClientObjectFactoryCallback(ClientObjectFactoryCallback callback, T=0)
Definition: objectbroker.h:102
void registerSelectionModel(QItemSelectionModel *selectionModel)
void setModelFactoryCallback(ModelFactoryCallback callback)
Definition: endpoint.h:41
void setSelectionModelFactoryCallback(selectionModelFactoryCallback callback)
void registerModelInternal(const QString &name, QAbstractItemModel *model)
void clear()
Clear all registered objects.
QAbstractItemModel * model(const QString &name)
QObject * objectInternal(const QString &name, const QByteArray &type=QByteArray())
QItemSelectionModel * selectionModel(QAbstractItemModel *model)
void registerObject(const QString &name, QObject *object)