29 #include <QReadWriteLock> 34 #define zCog (Zbl::ZblCog::zInstance()) 36 #define zblRegisterType(uri, versionMajor, versionMinor, qmlName, typeName, createFunc) \ 37 qmlRegisterType<typeName>(uri, versionMajor, versionMinor, qmlName); \ 38 zCog.registerSprocketObject(uri, versionMajor, versionMinor, qmlName, createFunc); \ 117 explicit ZblCog(QObject *parent = 0);
191 const char* sprocketUri,
194 QObject* parent = NULL);
327 const char* uri,
int versionMajor,
int versionMinor);
346 QString
getNodeName(
const QXmlItem& item,
const QXmlQuery& query);
381 const char* qmlName)
const;
385 const QString& label,
const QString& command);
388 const QString& label,
const QString& reason);
395 QString& versionMajor,
396 QString& versionMinor);
399 const QString& paramKey,
bool registerResource(const char *uri, int versionMajor, int versionMinor)
Makes a Zuble resource file available to QML and background javascript programs.
ZblFactory * createFactory(const char *sprocketUri, int versionMajor, int versionMinor, QObject *parent=NULL)
Constructs a ZblFactory object and populates it with a set of version-specific Sprocket object constr...
static ZblCog * m_zCog
The one and only ZblCog object allowed to exist in this process.
QMap< QString, ZblSprocket * > sprocketPluginMap
Map Zuble Sprocket uri's to Sprocket plugin objects.
static const int m_paramcountPlugin
#define ZBL_DECLARE_LOGGED_OBJECT
bool mapPluginResources(const char *fileName, bool qmlRegister=false)
Make a plugin's binary resource files known to Zuble so they can be loaded into QML by calling Zbl...
bool getPluginStringParam(const QJsonObject &resource, const QString ¶mKey, QString &outValue)
bool isMappedResource(const char *uri, int versionMajor, int versionMinor)
Determine whether a resource is mapped.
bool getPluginResParams(const QJsonValue &resourceValue, QString &uri, QString &fileName, QString &versionMajor, QString &versionMinor)
bool mapConfigResources(const char *configFilePath)
Reads specified zblconfig.xml file and maps/loads resources accordingly.
sprocketPluginMap m_sprockets
Maps Sprocket plugin uri's to sprocket objects.
static ZblCog & zInstance()
zInstance
void warnAbortingResourceLoad(const QString &label, const QString &reason)
static const QString m_restypeInvalid
static const QString m_commandSeparator
resourceMap m_resources
Maps Resource plugin uri's to resource objects.
static const QString m_actionMap
QString getNodeName(const QXmlItem &item, const QXmlQuery &query)
static const QString m_actionIgnore
bool validateParamCount(int actual, int required)
bool registerSprocketObject(const char *uri, int versionMajor, int versionMinor, const char *qmlName, sprocketObjectConstructor createFunc)
Called by Zuble sprocket extension plugins to register their object constructors with Zuble so their ...
static const QString m_restypePlugin
static const QString m_restypeFile
void warnInvalidResourceCommand(const QString &label, const QString &command)
Maintains a map of Zuble Sprockets and creates Sprocket object factories for javascript background th...
bool mapResource(const char *uri, int versionMajor, int versionMinor, const char *fileName)
Binds a resource uri with it's associated binary resource file. The resource can subsequently be refe...
An object factory that creates new instances of objects defined by a Zuble sprocket. Used primarily to construct sprocket objects in Zuble background threads.
QObject *(* sprocketObjectConstructor)(QObject *parent)
A pointer to a function that creates a Zuble Sprocket object. Sprocket object constructor functions s...
This class acts as an object construction wrapper for objects defined in Zuble Sprocket plugins...
QReadWriteLock m_lock
ZblCog's multithreaded lock.
static const QString m_actionQmlregister
ZblCog(QObject *parent=0)
QStringList getMappedResources()
Returns the list of mapped resource keys in the form of uri:versionMajor:versionMinor, ie: 'org.zuble.qml:1:0'.
QMap< QString, ZblResource * > resourceMap
Maps resource uri's to Zuble resource objects.
bool registerSprocket(const char *uri, int versionMajor, int versionMinor)
Called by Zuble sprocket extension plugins to register themselves with Zuble so their objects can be ...
static const int m_paramcountFile
static ZblCog & zInit(QObject *parent)