29 #include <QTextStream> 36 bool ZblSprocket::operator==(
const ZblSprocket& other)
const 57 qWarning(
"ZblSprocket::registerSprocketObject - object " 58 "registration FAILED: object already exists: " 59 "%s:%s:%d:%d", uri, qmlName, versionMajor, versionMinor );
63 sprock =
new ZblSprockOb(uri, versionMajor, versionMinor,
68 qWarning(
"ZblSprocket::registerSprocketObject - object " 69 "registration FAILED: can't bind sprocket object: " 70 "%s:%s:%d:%d", uri, qmlName, versionMajor, versionMinor );
94 int requestedVersion =
versionKey(versionMajor, versionMinor);
96 ZblSprockOb* sproc = versions->value(requestedVersion, NULL);
103 QList<int> keys(versions->keys());
110 for(
int i=0,previous=-1; i < keys.size(); i++)
112 nextKey = keys.at(i);
114 if(nextKey > requestedVersion)
131 return versions->value(nextKey, NULL);
148 if(versions->contains(key))
150 qWarning() <<
"ZblSprocket::insertSprock FAILED: object already exists:" 160 versions->insert(key, sprock);
173 QTextStream ts(&ret);
174 ts << uri <<
":" << versionMajor <<
":" <<
versionMinor;
This class holds the state for managing a Zuble sprocket.
const QString & uri() const
returns the Sprocket plugin's uri
int versionMinor() const
returns the Sprocket plugin's minor version number
sprocketFoundryMap m_objects
Maps object QML names to maps of sprocket object foundaries. Each foundary contains a separate object...
ZblSprockOb * findSprock(int versionMajor, int versionMinor, const char *qmlName)
Locates a version-specific Sprocket object constructor in the Sprocket's object foundry based on the ...
bool registerSprocketObject(const char *uri, int versionMajor, int versionMinor, const char *qmlName, sprocketObjectConstructor createFunc)
Creates a new ZblSprockOb Sprocket object constructor and adds it to the Sprocket's object foundary...
int versionMajor() const
returns the Sprocket plugin's major version number
const QString & qmlName() const
int versionKey(int versionMajor, int versionMinor)
Computes a version key for the specified version number.
const QString sprocketTag() const
returns a string in the form of "<uri>:<majorVersion>:<minorVersion>"
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...
QMap< int, ZblSprockOb * > sprocketVersionMap
Maps sprocket object versions to version-specific object construction wrappers.
bool insertSprock(ZblSprockOb *sprock)
Adds a Sprocket constructor object to the Sprocket's object foundry.