From: APTX Date: Sun, 15 Jul 2012 23:00:07 +0000 (+0200) Subject: Add script "constructors" for database structs. X-Git-Url: https://gitweb.aptx.org/?a=commitdiff_plain;h=5ae8ee6e4c1893c35f4fc17a74bb2aba570fba0a;p=localmylist.git Add script "constructors" for database structs. --- diff --git a/localmylist/database.h b/localmylist/database.h index e605a51..9079183 100644 --- a/localmylist/database.h +++ b/localmylist/database.h @@ -245,37 +245,37 @@ public slots: bool setConfig(const QString &key, const QVariant &value); int isKnownFile(const QByteArray &ed2k, qint64 size); - bool addFileLocation(const FileLocation &fileLocation); - bool setFileLocation(const FileLocation &fileLocation); + bool addFileLocation(const LocalMyList::FileLocation &fileLocation); + bool setFileLocation(const LocalMyList::FileLocation &fileLocation); LocalMyList::Anime getAnime(int aid); LocalMyList::Episode getEpisode(int eid); LocalMyList::File getFile(int fid); LocalMyList::File getFileByPath(const QString &path); - bool setAnime(const Anime &anime); - bool setEpisode(const Episode &episode); - bool setFile(const File &file); + bool setAnime(const LocalMyList::Anime &anime); + bool setEpisode(const LocalMyList::Episode &episode); + bool setFile(const LocalMyList::File &file); - bool addTitle(const AnimeTitle &title); - bool addAnime(const Anime &anime); - bool addEpisode(const Episode &episode); - bool addFile(const File &file); - bool addFileEpisodeRel(const FileEpisodeRel &fileEpisodeRel); + bool addTitle(const LocalMyList::AnimeTitle &title); + bool addAnime(const LocalMyList::Anime &anime); + bool addEpisode(const LocalMyList::Episode &episode); + bool addFile(const LocalMyList::File &file); + bool addFileEpisodeRel(const LocalMyList::FileEpisodeRel &fileEpisodeRel); - bool addUnknownFile(const UnknownFile &file); + bool addUnknownFile(const LocalMyList::UnknownFile &file); UnknownFile getUnknownFile(const QByteArray &ed2k, qint64 size); UnknownFile getUnknownFileByPath(const QString &path); bool removeUnknownFile(const QByteArray &ed2k, qint64 size); - bool addRequest(const PendingRequest &request); + bool addRequest(const LocalMyList::PendingRequest &request); QList getRequestBatch(int limit = 10); - bool clearRequest(const PendingRequest &request); + bool clearRequest(const LocalMyList::PendingRequest &request); - bool addPendingMyListUpdate(const PendingMyListUpdate &request); + bool addPendingMyListUpdate(const LocalMyList::PendingMyListUpdate &request); LocalMyList::PendingMyListUpdate getPendingMyListUpdate(qint64 updateId); QList getPendingMyListUpdateBatch(int limit = 10); - bool clearPendingMyListUpdate(const PendingMyListUpdate &request); + bool clearPendingMyListUpdate(const LocalMyList::PendingMyListUpdate &request); QStringList getWatchedDirectories(int hostId); diff --git a/localmylist/scriptable.cpp b/localmylist/scriptable.cpp index f32dbbc..420b0f8 100644 --- a/localmylist/scriptable.cpp +++ b/localmylist/scriptable.cpp @@ -9,36 +9,47 @@ void registerTypes(QScriptEngine *engine) Scriptable::Anime *AnimePrototype = new Scriptable::Anime(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimePrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimePrototype)); + engine->globalObject().setProperty("Anime", engine->newFunction(Scriptable::Anime_ctor)); Scriptable::Episode *EpisodePrototype = new Scriptable::Episode(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(EpisodePrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(EpisodePrototype)); + engine->globalObject().setProperty("Episode", engine->newFunction(Scriptable::Episode_ctor)); Scriptable::File *FilePrototype = new Scriptable::File(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FilePrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FilePrototype)); + engine->globalObject().setProperty("File", engine->newFunction(Scriptable::File_ctor)); Scriptable::FileLocation *FileLocationPrototype = new Scriptable::FileLocation(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileLocationPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileLocationPrototype)); + engine->globalObject().setProperty("FileLocation", engine->newFunction(Scriptable::FileLocation_ctor)); Scriptable::UnknownFile *UnknownFilePrototype = new Scriptable::UnknownFile(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(UnknownFilePrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(UnknownFilePrototype)); + engine->globalObject().setProperty("UnknownFile", engine->newFunction(Scriptable::UnknownFile_ctor)); Scriptable::FileEpisodeRel *FileEpisodeRelPrototype = new Scriptable::FileEpisodeRel(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileEpisodeRelPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileEpisodeRelPrototype)); + engine->globalObject().setProperty("FileEpisodeRel", engine->newFunction(Scriptable::FileEpisodeRel_ctor)); Scriptable::PendingRequest *PendingRequestPrototype = new Scriptable::PendingRequest(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingRequestPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingRequestPrototype)); + engine->globalObject().setProperty("PendingRequest", engine->newFunction(Scriptable::PendingRequest_ctor)); Scriptable::PendingMyListUpdate *PendingMyListUpdatePrototype = new Scriptable::PendingMyListUpdate(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingMyListUpdatePrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingMyListUpdatePrototype)); + engine->globalObject().setProperty("PendingMyListUpdate", engine->newFunction(Scriptable::PendingMyListUpdate_ctor)); Scriptable::HostInfo *HostInfoPrototype = new Scriptable::HostInfo(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(HostInfoPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(HostInfoPrototype)); + engine->globalObject().setProperty("HostInfo", engine->newFunction(Scriptable::HostInfo_ctor)); Scriptable::OpenFileData *OpenFileDataPrototype = new Scriptable::OpenFileData(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(OpenFileDataPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(OpenFileDataPrototype)); + engine->globalObject().setProperty("OpenFileData", engine->newFunction(Scriptable::OpenFileData_ctor)); Scriptable::DatabaseConnectionSettings *DatabaseConnectionSettingsPrototype = new Scriptable::DatabaseConnectionSettings(); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(DatabaseConnectionSettingsPrototype)); engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(DatabaseConnectionSettingsPrototype)); + engine->globalObject().setProperty("DatabaseConnectionSettings", engine->newFunction(Scriptable::DatabaseConnectionSettings_ctor)); } namespace Scriptable { @@ -1921,5 +1932,62 @@ void DatabaseConnectionSettings::write_database(QString val) o->database = val; } +// -------------------------------------------------------------------------------- + +QScriptValue Anime_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::Anime()); +} + +QScriptValue Episode_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::Episode()); +} + +QScriptValue File_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::File()); +} + +QScriptValue FileLocation_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::FileLocation()); +} + +QScriptValue UnknownFile_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::UnknownFile()); +} + +QScriptValue FileEpisodeRel_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::FileEpisodeRel()); +} + +QScriptValue PendingRequest_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::PendingRequest()); +} + +QScriptValue PendingMyListUpdate_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::PendingMyListUpdate()); +} + +QScriptValue HostInfo_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::HostInfo()); +} + +QScriptValue OpenFileData_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::OpenFileData()); +} + +QScriptValue DatabaseConnectionSettings_ctor(QScriptContext *, QScriptEngine *engine) +{ + return engine->toScriptValue(::LocalMyList::DatabaseConnectionSettings()); +} + } // namespace Scriptable } // namespace LocalMyList diff --git a/localmylist/scriptable.h b/localmylist/scriptable.h index c85a146..6679b15 100644 --- a/localmylist/scriptable.h +++ b/localmylist/scriptable.h @@ -667,6 +667,18 @@ public: void write_database(QString val); }; +QScriptValue Anime_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue Episode_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue File_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue FileLocation_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue UnknownFile_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue FileEpisodeRel_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue PendingRequest_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue PendingMyListUpdate_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue HostInfo_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue OpenFileData_ctor(QScriptContext *, QScriptEngine *engine); +QScriptValue DatabaseConnectionSettings_ctor(QScriptContext *, QScriptEngine *engine); + } // namespace Scriptable } // namespace LocalMyList