]> Some of my projects - localmylist.git/commitdiff
Add Scriptable prototypes for Database structs. Make Database and MyList scriptable...
authorAPTX <marek321@gmail.com>
Sun, 15 Jul 2012 21:11:27 +0000 (23:11 +0200)
committerAPTX <marek321@gmail.com>
Sun, 15 Jul 2012 21:13:06 +0000 (23:13 +0200)
localmylist/database.h
localmylist/localmylist.pro
localmylist/mylist.cpp
localmylist/mylist.h
localmylist/scriptable.cpp [new file with mode: 0644]
localmylist/scriptable.h [new file with mode: 0644]

index c4ce454ddc8957cce1e5aa2b6c07d654c31f345a..e605a51e08f1ab47e04561bc14d71a0989292f9d 100644 (file)
@@ -6,6 +6,7 @@
 #include <QSqlDatabase>
 #include <QSqlQuery>
 #include <QDateTime>
+#include <QStringList>
 
 namespace LocalMyList {
 
@@ -222,22 +223,23 @@ public:
        Database(const QString &connectionName = "default");
        ~Database();
 
+public slots:
        bool isConnected() const;
 
        void setConnectionSettings(const DatabaseConnectionSettings &dbs);
-       DatabaseConnectionSettings connectionSettings() const;
+       LocalMyList::DatabaseConnectionSettings connectionSettings() const;
 
        bool transaction();
        bool commit();
        bool rollback();
 
-       OpenFileData firstUnwatchedByTitle(const QString &title);
-       OpenFileData firstUnwatchedByAid(int aid);
-       OpenFileData openFileByTitle(const QString &title, int epno = 0);
-       OpenFileData openFileByEid(int eid);
-       OpenFileData openFile(int fid);
+       LocalMyList::OpenFileData firstUnwatchedByTitle(const QString &title);
+       LocalMyList::OpenFileData firstUnwatchedByAid(int aid);
+       LocalMyList::OpenFileData openFileByTitle(const QString &title, int epno = 0);
+       LocalMyList::OpenFileData openFileByEid(int eid);
+       LocalMyList::OpenFileData openFile(int fid);
 
-       HostInfo getHostInfo(const QString &hostName);
+       LocalMyList::HostInfo getHostInfo(const QString &hostName);
 
        QVariantMap getConfig();
        bool setConfig(const QString &key, const QVariant &value);
@@ -246,10 +248,10 @@ public:
        bool addFileLocation(const FileLocation &fileLocation);
        bool setFileLocation(const FileLocation &fileLocation);
 
-       Anime getAnime(int aid);
-       Episode getEpisode(int eid);
-       File getFile(int fid);
-       File getFileByPath(const QString &path);
+       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);
@@ -271,7 +273,7 @@ public:
        bool clearRequest(const PendingRequest &request);
 
        bool addPendingMyListUpdate(const PendingMyListUpdate &request);
-       PendingMyListUpdate getPendingMyListUpdate(qint64 updateId);
+       LocalMyList::PendingMyListUpdate getPendingMyListUpdate(qint64 updateId);
        QList<PendingMyListUpdate> getPendingMyListUpdateBatch(int limit = 10);
        bool clearPendingMyListUpdate(const PendingMyListUpdate &request);
 
@@ -303,7 +305,6 @@ public:
        bool notifyNewPendingMyListUpdate();
        bool notifyRenameDataChanged();
 
-public slots:
        bool connect();
        void disconnect();
 
@@ -344,4 +345,29 @@ public:
 
 } // namespace LocalMyList
 
+Q_DECLARE_METATYPE(LocalMyList::Database*)
+
+Q_DECLARE_METATYPE(LocalMyList::Anime)
+Q_DECLARE_METATYPE(LocalMyList::Anime*)
+Q_DECLARE_METATYPE(LocalMyList::Episode)
+Q_DECLARE_METATYPE(LocalMyList::Episode*)
+Q_DECLARE_METATYPE(LocalMyList::File)
+Q_DECLARE_METATYPE(LocalMyList::File*)
+Q_DECLARE_METATYPE(LocalMyList::FileLocation)
+Q_DECLARE_METATYPE(LocalMyList::FileLocation*)
+Q_DECLARE_METATYPE(LocalMyList::UnknownFile)
+Q_DECLARE_METATYPE(LocalMyList::UnknownFile*)
+Q_DECLARE_METATYPE(LocalMyList::FileEpisodeRel)
+Q_DECLARE_METATYPE(LocalMyList::FileEpisodeRel*)
+Q_DECLARE_METATYPE(LocalMyList::PendingRequest)
+Q_DECLARE_METATYPE(LocalMyList::PendingRequest*)
+Q_DECLARE_METATYPE(LocalMyList::PendingMyListUpdate)
+Q_DECLARE_METATYPE(LocalMyList::PendingMyListUpdate*)
+Q_DECLARE_METATYPE(LocalMyList::HostInfo)
+Q_DECLARE_METATYPE(LocalMyList::HostInfo*)
+Q_DECLARE_METATYPE(LocalMyList::OpenFileData)
+Q_DECLARE_METATYPE(LocalMyList::OpenFileData*)
+Q_DECLARE_METATYPE(LocalMyList::DatabaseConnectionSettings)
+Q_DECLARE_METATYPE(LocalMyList::DatabaseConnectionSettings*)
+
 #endif // DATABASE_H
index 75a88a3ba60ccac6a86ee2e133a2b46b5673769b..a4f827a1c1bec69bba2abc71d3de82d32de0ea5d 100644 (file)
@@ -26,7 +26,7 @@ SOURCES += \
        unknownfilelookuptask.cpp \
        renameutils.cpp \
        directorywatcher.cpp \
-       addrelatedepisodestask.cpp
+       addrelatedepisodestask.cpp \
 
 HEADERS += \
        localmylist_global.h \
@@ -62,6 +62,12 @@ CONV_HEADERS += \
        include/LocalMyList/AddRelatedEpisodesTask \
        include/LocalMyList/RenameUtils
 
+!noscript {
+       QT *= script
+       HEADERS += scriptable.h
+       SOURCES += scriptable.cpp
+}
+
 SHARE += \
        share/schema/schema.sql \
        share/schema/default_config.sql
index 3b397e5dd9854a6fb4ec0766bdb8381b3411467e..8ff9552e7930844b4717dbadd38245fcd5e461f2 100644 (file)
@@ -152,7 +152,7 @@ void MyList::setupHostInfo()
        {
                qWarning("Unknown host!");
        }
-       qDebug() << "host id" << hostId();
+//     qDebug() << "host id" << hostId();
 }
 
 void MyList::loadLocalSettings(QSettings &s)
index 58a813f3850e6495df537b9d5ff263f447c42c49..db24635fb4fc68cced7d36167dd451974f6aa411 100644 (file)
@@ -22,8 +22,11 @@ class DirectoryWatcher;
 
 class LOCALMYLISTSHARED_EXPORT MyList : public QObject {
        Q_OBJECT
+       Q_PROPERTY(Database *database READ database)
        Q_PROPERTY(QString hostName READ hostName WRITE setHostName)
        Q_PROPERTY(int hostId READ hostId)
+       Q_PROPERTY(bool isUdpHost READ isUdpHost)
+       Q_PROPERTY(int runningTaskCount READ runningTaskCount)
 
 public:
        MyList();
@@ -33,14 +36,14 @@ public:
        Settings *settings() const;
 
        QString hostName() const;
+       void setHostName(QString name);
+
        int hostId() const;
        bool isUdpHost() const;
 
        int runningTaskCount();
 
 public slots:
-       void setHostName(QString name);
-
        void markWatched(int fid, QDateTime when = QDateTime::currentDateTime());
 
        AbstractTask *addFile(const QFileInfo &file);
@@ -64,7 +67,6 @@ private slots:
        void taskFinished();
 
 signals:
-       void requestAddDirectory(const QDir &directory);
        void taskCountChanged();
        void allTasksFinished();
 
diff --git a/localmylist/scriptable.cpp b/localmylist/scriptable.cpp
new file mode 100644 (file)
index 0000000..f32dbbc
--- /dev/null
@@ -0,0 +1,1925 @@
+#include "scriptable.h"
+
+#include "database.h"
+
+namespace LocalMyList {
+
+void registerTypes(QScriptEngine *engine)
+{
+       Scriptable::Anime *AnimePrototype = new Scriptable::Anime();
+       engine->setDefaultPrototype(qMetaTypeId<Anime>(), engine->newQObject(AnimePrototype));
+       engine->setDefaultPrototype(qMetaTypeId<Anime*>(), engine->newQObject(AnimePrototype));
+       Scriptable::Episode *EpisodePrototype = new Scriptable::Episode();
+       engine->setDefaultPrototype(qMetaTypeId<Episode>(), engine->newQObject(EpisodePrototype));
+       engine->setDefaultPrototype(qMetaTypeId<Episode*>(), engine->newQObject(EpisodePrototype));
+       Scriptable::File *FilePrototype = new Scriptable::File();
+       engine->setDefaultPrototype(qMetaTypeId<File>(), engine->newQObject(FilePrototype));
+       engine->setDefaultPrototype(qMetaTypeId<File*>(), engine->newQObject(FilePrototype));
+       Scriptable::FileLocation *FileLocationPrototype = new Scriptable::FileLocation();
+       engine->setDefaultPrototype(qMetaTypeId<FileLocation>(), engine->newQObject(FileLocationPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<FileLocation*>(), engine->newQObject(FileLocationPrototype));
+       Scriptable::UnknownFile *UnknownFilePrototype = new Scriptable::UnknownFile();
+       engine->setDefaultPrototype(qMetaTypeId<UnknownFile>(), engine->newQObject(UnknownFilePrototype));
+       engine->setDefaultPrototype(qMetaTypeId<UnknownFile*>(), engine->newQObject(UnknownFilePrototype));
+       Scriptable::FileEpisodeRel *FileEpisodeRelPrototype = new Scriptable::FileEpisodeRel();
+       engine->setDefaultPrototype(qMetaTypeId<FileEpisodeRel>(), engine->newQObject(FileEpisodeRelPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<FileEpisodeRel*>(), engine->newQObject(FileEpisodeRelPrototype));
+       Scriptable::PendingRequest *PendingRequestPrototype = new Scriptable::PendingRequest();
+       engine->setDefaultPrototype(qMetaTypeId<PendingRequest>(), engine->newQObject(PendingRequestPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<PendingRequest*>(), engine->newQObject(PendingRequestPrototype));
+       Scriptable::PendingMyListUpdate *PendingMyListUpdatePrototype = new Scriptable::PendingMyListUpdate();
+       engine->setDefaultPrototype(qMetaTypeId<PendingMyListUpdate>(), engine->newQObject(PendingMyListUpdatePrototype));
+       engine->setDefaultPrototype(qMetaTypeId<PendingMyListUpdate*>(), engine->newQObject(PendingMyListUpdatePrototype));
+       Scriptable::HostInfo *HostInfoPrototype = new Scriptable::HostInfo();
+       engine->setDefaultPrototype(qMetaTypeId<HostInfo>(), engine->newQObject(HostInfoPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<HostInfo*>(), engine->newQObject(HostInfoPrototype));
+       Scriptable::OpenFileData *OpenFileDataPrototype = new Scriptable::OpenFileData();
+       engine->setDefaultPrototype(qMetaTypeId<OpenFileData>(), engine->newQObject(OpenFileDataPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<OpenFileData*>(), engine->newQObject(OpenFileDataPrototype));
+       Scriptable::DatabaseConnectionSettings *DatabaseConnectionSettingsPrototype = new Scriptable::DatabaseConnectionSettings();
+       engine->setDefaultPrototype(qMetaTypeId<DatabaseConnectionSettings>(), engine->newQObject(DatabaseConnectionSettingsPrototype));
+       engine->setDefaultPrototype(qMetaTypeId<DatabaseConnectionSettings*>(), engine->newQObject(DatabaseConnectionSettingsPrototype));
+}
+
+namespace Scriptable {
+
+::LocalMyList::Anime *Anime::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::Anime*>(thisObject());
+}
+
+Anime::Anime(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString Anime::toString() const
+{
+       return QString("Anime(%1, %2)").arg(read_aid(), 4).arg(read_titleRomaji());
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::Episode *Episode::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::Episode*>(thisObject());
+}
+
+Episode::Episode(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString Episode::toString() const
+{
+       return QString("Episode(%1, %2)").arg(read_eid(), 4).arg(read_epno(), 3);
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::File *File::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::File*>(thisObject());
+}
+
+File::File(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString File::toString() const
+{
+       return QString("File(%1)").arg(read_fid(), 6);
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::FileLocation *FileLocation::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::FileLocation*>(thisObject());
+}
+
+FileLocation::FileLocation(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString FileLocation::toString() const
+{
+       return QString("FileLocation(%1)").arg(read_path());
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::UnknownFile *UnknownFile::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::UnknownFile*>(thisObject());
+}
+
+UnknownFile::UnknownFile(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString UnknownFile::toString() const
+{
+       return QString("UnknownFile(ed2k=%1, size=%2)").arg(QString::fromUtf8(read_ed2k())).arg(read_size());
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::FileEpisodeRel *FileEpisodeRel::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::FileEpisodeRel*>(thisObject());
+}
+
+FileEpisodeRel::FileEpisodeRel(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString FileEpisodeRel::toString() const
+{
+       return QString("FileEpisodeRel(fid=%1, eid=%2)").arg(read_fid(), 6).arg(read_eid(), 4);
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::PendingRequest *PendingRequest::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::PendingRequest*>(thisObject());
+}
+
+PendingRequest::PendingRequest(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString PendingRequest::toString() const
+{
+       return QString("PendingRequest()");
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::PendingMyListUpdate *PendingMyListUpdate::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::PendingMyListUpdate*>(thisObject());
+}
+
+PendingMyListUpdate::PendingMyListUpdate(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString PendingMyListUpdate::toString() const
+{
+       return QString("PendingMyListUpdate(%1)").arg(read_fid(), 6);
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::HostInfo *HostInfo::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::HostInfo*>(thisObject());
+}
+
+HostInfo::HostInfo(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString HostInfo::toString() const
+{
+       return QString("HostInfo(%1)").arg(read_name());
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::OpenFileData *OpenFileData::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::OpenFileData*>(thisObject());
+}
+
+OpenFileData::OpenFileData(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString OpenFileData::toString() const
+{
+       return QString("OpenFileData(%1)").arg(read_path());
+}
+
+// --------------------------------------------------------------------------------
+
+::LocalMyList::DatabaseConnectionSettings *DatabaseConnectionSettings::thisObj() const
+{
+       return qscriptvalue_cast<::LocalMyList::DatabaseConnectionSettings*>(thisObject());
+}
+
+DatabaseConnectionSettings::DatabaseConnectionSettings(QObject *parent) : QObject(parent), QScriptable()
+{
+}
+
+QString DatabaseConnectionSettings::toString() const
+{
+       return QString("DatabaseConnectionSettings(%1)").arg(read_host());
+}
+
+// --------------------------------------------------------------------------------
+//                                   Generated
+// --------------------------------------------------------------------------------
+
+int Anime::read_aid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->aid;
+}
+
+void Anime::write_aid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->aid = val;
+}
+
+QDateTime Anime::read_anidbUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->anidbUpdate;
+}
+
+void Anime::write_anidbUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->anidbUpdate = val;
+}
+
+QDateTime Anime::read_entryUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->entryUpdate;
+}
+
+void Anime::write_entryUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->entryUpdate = val;
+}
+
+QDateTime Anime::read_myUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myUpdate;
+}
+
+void Anime::write_myUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myUpdate = val;
+}
+
+QString Anime::read_titleEnglish() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleEnglish;
+}
+
+void Anime::write_titleEnglish(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleEnglish = val;
+}
+
+QString Anime::read_titleRomaji() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleRomaji;
+}
+
+void Anime::write_titleRomaji(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleRomaji = val;
+}
+
+QString Anime::read_titleKanji() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleKanji;
+}
+
+void Anime::write_titleKanji(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleKanji = val;
+}
+
+QString Anime::read_description() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->description;
+}
+
+void Anime::write_description(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->description = val;
+}
+
+QString Anime::read_year() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->year;
+}
+
+void Anime::write_year(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->year = val;
+}
+
+QDateTime Anime::read_startDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->startDate;
+}
+
+void Anime::write_startDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->startDate = val;
+}
+
+QDateTime Anime::read_endDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->endDate;
+}
+
+void Anime::write_endDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->endDate = val;
+}
+
+QString Anime::read_type() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->type;
+}
+
+void Anime::write_type(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->type = val;
+}
+
+double Anime::read_rating() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->rating;
+}
+
+void Anime::write_rating(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->rating = val;
+}
+
+int Anime::read_votes() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->votes;
+}
+
+void Anime::write_votes(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->votes = val;
+}
+
+double Anime::read_tempRating() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->tempRating;
+}
+
+void Anime::write_tempRating(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->tempRating = val;
+}
+
+int Anime::read_tempVotes() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->tempVotes;
+}
+
+void Anime::write_tempVotes(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->tempVotes = val;
+}
+
+double Anime::read_myVote() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->myVote;
+}
+
+void Anime::write_myVote(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myVote = val;
+}
+
+QDateTime Anime::read_myVoteDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myVoteDate;
+}
+
+void Anime::write_myVoteDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myVoteDate = val;
+}
+
+double Anime::read_myTempVote() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->myTempVote;
+}
+
+void Anime::write_myTempVote(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myTempVote = val;
+}
+
+QDateTime Anime::read_myTempVoteDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myTempVoteDate;
+}
+
+void Anime::write_myTempVoteDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myTempVoteDate = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int Episode::read_eid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->eid;
+}
+
+void Episode::write_eid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->eid = val;
+}
+
+int Episode::read_aid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->aid;
+}
+
+void Episode::write_aid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->aid = val;
+}
+
+QDateTime Episode::read_anidbUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->anidbUpdate;
+}
+
+void Episode::write_anidbUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->anidbUpdate = val;
+}
+
+QDateTime Episode::read_entryUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->entryUpdate;
+}
+
+void Episode::write_entryUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->entryUpdate = val;
+}
+
+QDateTime Episode::read_myUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myUpdate;
+}
+
+void Episode::write_myUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myUpdate = val;
+}
+
+int Episode::read_epno() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->epno;
+}
+
+void Episode::write_epno(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->epno = val;
+}
+
+QString Episode::read_titleEnglish() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleEnglish;
+}
+
+void Episode::write_titleEnglish(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleEnglish = val;
+}
+
+QString Episode::read_titleRomaji() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleRomaji;
+}
+
+void Episode::write_titleRomaji(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleRomaji = val;
+}
+
+QString Episode::read_titleKanji() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->titleKanji;
+}
+
+void Episode::write_titleKanji(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->titleKanji = val;
+}
+
+int Episode::read_length() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->length;
+}
+
+void Episode::write_length(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->length = val;
+}
+
+QDateTime Episode::read_airdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->airdate;
+}
+
+void Episode::write_airdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->airdate = val;
+}
+
+int Episode::read_state() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->state;
+}
+
+void Episode::write_state(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->state = val;
+}
+
+bool Episode::read_special() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->special;
+}
+
+void Episode::write_special(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->special = val;
+}
+
+bool Episode::read_recap() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->recap;
+}
+
+void Episode::write_recap(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->recap = val;
+}
+
+bool Episode::read_opening() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->opening;
+}
+
+void Episode::write_opening(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->opening = val;
+}
+
+bool Episode::read_ending() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->ending;
+}
+
+void Episode::write_ending(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->ending = val;
+}
+
+double Episode::read_rating() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->rating;
+}
+
+void Episode::write_rating(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->rating = val;
+}
+
+int Episode::read_votes() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->votes;
+}
+
+void Episode::write_votes(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->votes = val;
+}
+
+double Episode::read_myVote() const
+{
+       auto o = thisObj();
+       if (!o) return double();
+       return o->myVote;
+}
+
+void Episode::write_myVote(double val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myVote = val;
+}
+
+QDateTime Episode::read_myVoteDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myVoteDate;
+}
+
+void Episode::write_myVoteDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myVoteDate = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int File::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void File::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+int File::read_eid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->eid;
+}
+
+void File::write_eid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->eid = val;
+}
+
+int File::read_aid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->aid;
+}
+
+void File::write_aid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->aid = val;
+}
+
+int File::read_gid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->gid;
+}
+
+void File::write_gid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->gid = val;
+}
+
+QDateTime File::read_anidbUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->anidbUpdate;
+}
+
+void File::write_anidbUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->anidbUpdate = val;
+}
+
+QDateTime File::read_entryUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->entryUpdate;
+}
+
+void File::write_entryUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->entryUpdate = val;
+}
+
+QDateTime File::read_myUpdate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myUpdate;
+}
+
+void File::write_myUpdate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myUpdate = val;
+}
+
+QByteArray File::read_ed2k() const
+{
+       auto o = thisObj();
+       if (!o) return QByteArray();
+       return o->ed2k;
+}
+
+void File::write_ed2k(QByteArray val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->ed2k = val;
+}
+
+qint64 File::read_size() const
+{
+       auto o = thisObj();
+       if (!o) return qint64();
+       return o->size;
+}
+
+void File::write_size(qint64 val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->size = val;
+}
+
+int File::read_length() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->length;
+}
+
+void File::write_length(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->length = val;
+}
+
+QString File::read_extension() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->extension;
+}
+
+void File::write_extension(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->extension = val;
+}
+
+QString File::read_groupName() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->groupName;
+}
+
+void File::write_groupName(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->groupName = val;
+}
+
+QString File::read_groupNameShort() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->groupNameShort;
+}
+
+void File::write_groupNameShort(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->groupNameShort = val;
+}
+
+QString File::read_crc() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->crc;
+}
+
+void File::write_crc(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->crc = val;
+}
+
+QDateTime File::read_releaseDate() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->releaseDate;
+}
+
+void File::write_releaseDate(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->releaseDate = val;
+}
+
+int File::read_version() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->version;
+}
+
+void File::write_version(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->version = val;
+}
+
+bool File::read_censored() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->censored;
+}
+
+void File::write_censored(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->censored = val;
+}
+
+QString File::read_type() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->type;
+}
+
+void File::write_type(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->type = val;
+}
+
+int File::read_qualityId() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->qualityId;
+}
+
+void File::write_qualityId(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->qualityId = val;
+}
+
+QString File::read_quality() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->quality;
+}
+
+void File::write_quality(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->quality = val;
+}
+
+QString File::read_resolution() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->resolution;
+}
+
+void File::write_resolution(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->resolution = val;
+}
+
+QString File::read_videoCodec() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->videoCodec;
+}
+
+void File::write_videoCodec(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->videoCodec = val;
+}
+
+QString File::read_audioCodec() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->audioCodec;
+}
+
+void File::write_audioCodec(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->audioCodec = val;
+}
+
+QString File::read_audioLanguage() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->audioLanguage;
+}
+
+void File::write_audioLanguage(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->audioLanguage = val;
+}
+
+QString File::read_subtitleLanguage() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->subtitleLanguage;
+}
+
+void File::write_subtitleLanguage(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->subtitleLanguage = val;
+}
+
+QString File::read_aspectRatio() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->aspectRatio;
+}
+
+void File::write_aspectRatio(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->aspectRatio = val;
+}
+
+QDateTime File::read_myWatched() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myWatched;
+}
+
+void File::write_myWatched(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myWatched = val;
+}
+
+int File::read_myState() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->myState;
+}
+
+void File::write_myState(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myState = val;
+}
+
+int File::read_myFileState() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->myFileState;
+}
+
+void File::write_myFileState(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myFileState = val;
+}
+
+QString File::read_myStorage() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->myStorage;
+}
+
+void File::write_myStorage(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myStorage = val;
+}
+
+QString File::read_mySource() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->mySource;
+}
+
+void File::write_mySource(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->mySource = val;
+}
+
+QString File::read_myOther() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->myOther;
+}
+
+void File::write_myOther(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myOther = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int FileLocation::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void FileLocation::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+int FileLocation::read_hostId() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->hostId;
+}
+
+void FileLocation::write_hostId(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->hostId = val;
+}
+
+QString FileLocation::read_path() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->path;
+}
+
+void FileLocation::write_path(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->path = val;
+}
+
+QDateTime FileLocation::read_renamed() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->renamed;
+}
+
+void FileLocation::write_renamed(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->renamed = val;
+}
+
+bool FileLocation::read_failedRename() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->failedRename;
+}
+
+void FileLocation::write_failedRename(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->failedRename = val;
+}
+
+// --------------------------------------------------------------------------------
+
+QByteArray UnknownFile::read_ed2k() const
+{
+       auto o = thisObj();
+       if (!o) return QByteArray();
+       return o->ed2k;
+}
+
+void UnknownFile::write_ed2k(QByteArray val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->ed2k = val;
+}
+
+qint64 UnknownFile::read_size() const
+{
+       auto o = thisObj();
+       if (!o) return qint64();
+       return o->size;
+}
+
+void UnknownFile::write_size(qint64 val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->size = val;
+}
+
+int UnknownFile::read_hostId() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->hostId;
+}
+
+void UnknownFile::write_hostId(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->hostId = val;
+}
+
+QString UnknownFile::read_path() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->path;
+}
+
+void UnknownFile::write_path(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->path = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int FileEpisodeRel::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void FileEpisodeRel::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+int FileEpisodeRel::read_eid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->eid;
+}
+
+void FileEpisodeRel::write_eid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->eid = val;
+}
+
+int FileEpisodeRel::read_startPercent() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->startPercent;
+}
+
+void FileEpisodeRel::write_startPercent(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->startPercent = val;
+}
+
+int FileEpisodeRel::read_endPercent() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->endPercent;
+}
+
+void FileEpisodeRel::write_endPercent(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->endPercent = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int PendingRequest::read_aid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->aid;
+}
+
+void PendingRequest::write_aid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->aid = val;
+}
+
+int PendingRequest::read_eid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->eid;
+}
+
+void PendingRequest::write_eid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->eid = val;
+}
+
+int PendingRequest::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void PendingRequest::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+QByteArray PendingRequest::read_ed2k() const
+{
+       auto o = thisObj();
+       if (!o) return QByteArray();
+       return o->ed2k;
+}
+
+void PendingRequest::write_ed2k(QByteArray val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->ed2k = val;
+}
+
+qint64 PendingRequest::read_size() const
+{
+       auto o = thisObj();
+       if (!o) return qint64();
+       return o->size;
+}
+
+void PendingRequest::write_size(qint64 val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->size = val;
+}
+
+// --------------------------------------------------------------------------------
+
+qint64 PendingMyListUpdate::read_updateId() const
+{
+       auto o = thisObj();
+       if (!o) return qint64();
+       return o->updateId;
+}
+
+void PendingMyListUpdate::write_updateId(qint64 val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->updateId = val;
+}
+
+int PendingMyListUpdate::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void PendingMyListUpdate::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+bool PendingMyListUpdate::read_setMyWatched() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMyWatched;
+}
+
+void PendingMyListUpdate::write_setMyWatched(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMyWatched = val;
+}
+
+QDateTime PendingMyListUpdate::read_myWatched() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->myWatched;
+}
+
+void PendingMyListUpdate::write_myWatched(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myWatched = val;
+}
+
+bool PendingMyListUpdate::read_setMyState() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMyState;
+}
+
+void PendingMyListUpdate::write_setMyState(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMyState = val;
+}
+
+int PendingMyListUpdate::read_myState() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->myState;
+}
+
+void PendingMyListUpdate::write_myState(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myState = val;
+}
+
+bool PendingMyListUpdate::read_setMyFileState() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMyFileState;
+}
+
+void PendingMyListUpdate::write_setMyFileState(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMyFileState = val;
+}
+
+int PendingMyListUpdate::read_myFileState() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->myFileState;
+}
+
+void PendingMyListUpdate::write_myFileState(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myFileState = val;
+}
+
+bool PendingMyListUpdate::read_setMyStorage() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMyStorage;
+}
+
+void PendingMyListUpdate::write_setMyStorage(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMyStorage = val;
+}
+
+QString PendingMyListUpdate::read_myStorage() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->myStorage;
+}
+
+void PendingMyListUpdate::write_myStorage(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myStorage = val;
+}
+
+bool PendingMyListUpdate::read_setMySource() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMySource;
+}
+
+void PendingMyListUpdate::write_setMySource(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMySource = val;
+}
+
+QString PendingMyListUpdate::read_mySource() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->mySource;
+}
+
+void PendingMyListUpdate::write_mySource(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->mySource = val;
+}
+
+bool PendingMyListUpdate::read_setMyOther() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->setMyOther;
+}
+
+void PendingMyListUpdate::write_setMyOther(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->setMyOther = val;
+}
+
+QString PendingMyListUpdate::read_myOther() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->myOther;
+}
+
+void PendingMyListUpdate::write_myOther(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->myOther = val;
+}
+
+QDateTime PendingMyListUpdate::read_added() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->added;
+}
+
+void PendingMyListUpdate::write_added(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->added = val;
+}
+
+QDateTime PendingMyListUpdate::read_started() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->started;
+}
+
+void PendingMyListUpdate::write_started(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->started = val;
+}
+
+QDateTime PendingMyListUpdate::read_finished() const
+{
+       auto o = thisObj();
+       if (!o) return QDateTime();
+       return o->finished;
+}
+
+void PendingMyListUpdate::write_finished(QDateTime val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->finished = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int HostInfo::read_id() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->id;
+}
+
+void HostInfo::write_id(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->id = val;
+}
+
+QString HostInfo::read_name() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->name;
+}
+
+void HostInfo::write_name(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->name = val;
+}
+
+bool HostInfo::read_isUdpHost() const
+{
+       auto o = thisObj();
+       if (!o) return bool();
+       return o->isUdpHost;
+}
+
+void HostInfo::write_isUdpHost(bool val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->isUdpHost = val;
+}
+
+// --------------------------------------------------------------------------------
+
+int OpenFileData::read_fid() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->fid;
+}
+
+void OpenFileData::write_fid(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->fid = val;
+}
+
+QString OpenFileData::read_animeTitle() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->animeTitle;
+}
+
+void OpenFileData::write_animeTitle(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->animeTitle = val;
+}
+
+QString OpenFileData::read_episodeTitle() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->episodeTitle;
+}
+
+void OpenFileData::write_episodeTitle(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->episodeTitle = val;
+}
+
+int OpenFileData::read_epno() const
+{
+       auto o = thisObj();
+       if (!o) return int();
+       return o->epno;
+}
+
+void OpenFileData::write_epno(int val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->epno = val;
+}
+
+QString OpenFileData::read_path() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->path;
+}
+
+void OpenFileData::write_path(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->path = val;
+}
+
+// --------------------------------------------------------------------------------
+
+QString DatabaseConnectionSettings::read_host() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->host;
+}
+
+void DatabaseConnectionSettings::write_host(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->host = val;
+}
+
+quint16 DatabaseConnectionSettings::read_port() const
+{
+       auto o = thisObj();
+       if (!o) return quint16();
+       return o->port;
+}
+
+void DatabaseConnectionSettings::write_port(quint16 val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->port = val;
+}
+
+QString DatabaseConnectionSettings::read_user() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->user;
+}
+
+void DatabaseConnectionSettings::write_user(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->user = val;
+}
+
+QString DatabaseConnectionSettings::read_pass() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->pass;
+}
+
+void DatabaseConnectionSettings::write_pass(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->pass = val;
+}
+
+QString DatabaseConnectionSettings::read_database() const
+{
+       auto o = thisObj();
+       if (!o) return QString();
+       return o->database;
+}
+
+void DatabaseConnectionSettings::write_database(QString val)
+{
+       auto o = thisObj();
+       if (!o) return;
+       o->database = val;
+}
+
+} // namespace Scriptable
+} // namespace LocalMyList
diff --git a/localmylist/scriptable.h b/localmylist/scriptable.h
new file mode 100644 (file)
index 0000000..c85a146
--- /dev/null
@@ -0,0 +1,674 @@
+#ifndef SCRIPTABLE_H
+#define SCRIPTABLE_H
+
+#include "localmylist_global.h"
+
+#include <QObject>
+#include <QtScript/QScriptable>
+#include <QtScript/QScriptEngine>
+#include <QDateTime>
+
+namespace LocalMyList {
+
+struct Anime;
+struct Episode;
+struct File;
+struct FileLocation;
+struct UnknownFile;
+struct FileEpisodeRel;
+struct PendingRequest;
+struct PendingMyListUpdate;
+struct HostInfo;
+struct OpenFileData;
+struct DatabaseConnectionSettings;
+
+void LOCALMYLISTSHARED_EXPORT registerTypes(QScriptEngine *engine);
+
+namespace Scriptable {
+/*
+struct LOCALMYLISTSHARED_EXPORT AnimeTitle
+{
+       enum TitleType {
+               PrimaryTitle    = 1,
+               Synonym                 = 2,
+               ShortTitle              = 3,
+               OfficialTitle   = 4
+       };
+
+       int aid;
+       TitleType type;
+       QString language;
+       QString title;
+
+       AnimeTitle(int aid = 0, TitleType type = PrimaryTitle, const QString &language = QString(), const QString &title = QString());
+};
+*/
+
+class LOCALMYLISTSHARED_EXPORT Anime : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int aid READ read_aid WRITE write_aid)
+       Q_PROPERTY(QDateTime anidbUpdate READ read_anidbUpdate WRITE write_anidbUpdate)
+       Q_PROPERTY(QDateTime entryUpdate READ read_entryUpdate WRITE write_entryUpdate)
+       Q_PROPERTY(QDateTime myUpdate READ read_myUpdate WRITE write_myUpdate)
+       Q_PROPERTY(QString titleEnglish READ read_titleEnglish WRITE write_titleEnglish)
+       Q_PROPERTY(QString titleRomaji READ read_titleRomaji WRITE write_titleRomaji)
+       Q_PROPERTY(QString titleKanji READ read_titleKanji WRITE write_titleKanji)
+       Q_PROPERTY(QString description READ read_description WRITE write_description)
+       Q_PROPERTY(QString year READ read_year WRITE write_year)
+       Q_PROPERTY(QDateTime startDate READ read_startDate WRITE write_startDate)
+       Q_PROPERTY(QDateTime endDate READ read_endDate WRITE write_endDate)
+       Q_PROPERTY(QString type READ read_type WRITE write_type)
+       Q_PROPERTY(double rating READ read_rating WRITE write_rating)
+       Q_PROPERTY(int votes READ read_votes WRITE write_votes)
+       Q_PROPERTY(double tempRating READ read_tempRating WRITE write_tempRating)
+       Q_PROPERTY(int tempVotes READ read_tempVotes WRITE write_tempVotes)
+       Q_PROPERTY(double myVote READ read_myVote WRITE write_myVote)
+       Q_PROPERTY(QDateTime myVoteDate READ read_myVoteDate WRITE write_myVoteDate)
+       Q_PROPERTY(double myTempVote READ read_myTempVote WRITE write_myTempVote)
+       Q_PROPERTY(QDateTime myTempVoteDate READ read_myTempVoteDate WRITE write_myTempVoteDate)
+
+       ::LocalMyList::Anime *thisObj() const;
+public:
+       Anime(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_aid() const;
+       void write_aid(int val);
+
+       QDateTime read_anidbUpdate() const;
+       void write_anidbUpdate(QDateTime val);
+
+       QDateTime read_entryUpdate() const;
+       void write_entryUpdate(QDateTime val);
+
+       QDateTime read_myUpdate() const;
+       void write_myUpdate(QDateTime val);
+
+       QString read_titleEnglish() const;
+       void write_titleEnglish(QString val);
+
+       QString read_titleRomaji() const;
+       void write_titleRomaji(QString val);
+
+       QString read_titleKanji() const;
+       void write_titleKanji(QString val);
+
+       QString read_description() const;
+       void write_description(QString val);
+
+       QString read_year() const;
+       void write_year(QString val);
+
+       QDateTime read_startDate() const;
+       void write_startDate(QDateTime val);
+
+       QDateTime read_endDate() const;
+       void write_endDate(QDateTime val);
+
+       QString read_type() const;
+       void write_type(QString val);
+
+       double read_rating() const;
+       void write_rating(double val);
+
+       int read_votes() const;
+       void write_votes(int val);
+
+       double read_tempRating() const;
+       void write_tempRating(double val);
+
+       int read_tempVotes() const;
+       void write_tempVotes(int val);
+
+       double read_myVote() const;
+       void write_myVote(double val);
+
+       QDateTime read_myVoteDate() const;
+       void write_myVoteDate(QDateTime val);
+
+       double read_myTempVote() const;
+       void write_myTempVote(double val);
+
+       QDateTime read_myTempVoteDate() const;
+       void write_myTempVoteDate(QDateTime val);
+};
+
+class LOCALMYLISTSHARED_EXPORT Episode : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int eid READ read_eid WRITE write_eid)
+       Q_PROPERTY(int aid READ read_aid WRITE write_aid)
+       Q_PROPERTY(QDateTime anidbUpdate READ read_anidbUpdate WRITE write_anidbUpdate)
+       Q_PROPERTY(QDateTime entryUpdate READ read_entryUpdate WRITE write_entryUpdate)
+       Q_PROPERTY(QDateTime myUpdate READ read_myUpdate WRITE write_myUpdate)
+       Q_PROPERTY(int epno READ read_epno WRITE write_epno)
+       Q_PROPERTY(QString titleEnglish READ read_titleEnglish WRITE write_titleEnglish)
+       Q_PROPERTY(QString titleRomaji READ read_titleRomaji WRITE write_titleRomaji)
+       Q_PROPERTY(QString titleKanji READ read_titleKanji WRITE write_titleKanji)
+       Q_PROPERTY(int length READ read_length WRITE write_length)
+       Q_PROPERTY(QDateTime airdate READ read_airdate WRITE write_airdate)
+       Q_PROPERTY(int state READ read_state WRITE write_state)
+       Q_PROPERTY(bool special READ read_special WRITE write_special)
+       Q_PROPERTY(bool recap READ read_recap WRITE write_recap)
+       Q_PROPERTY(bool opening READ read_opening WRITE write_opening)
+       Q_PROPERTY(bool ending READ read_ending WRITE write_ending)
+       Q_PROPERTY(double rating READ read_rating WRITE write_rating)
+       Q_PROPERTY(int votes READ read_votes WRITE write_votes)
+       Q_PROPERTY(double myVote READ read_myVote WRITE write_myVote)
+       Q_PROPERTY(QDateTime myVoteDate READ read_myVoteDate WRITE write_myVoteDate)
+
+       ::LocalMyList::Episode *thisObj() const;
+public:
+       Episode(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_eid() const;
+       void write_eid(int val);
+
+       int read_aid() const;
+       void write_aid(int val);
+
+       QDateTime read_anidbUpdate() const;
+       void write_anidbUpdate(QDateTime val);
+
+       QDateTime read_entryUpdate() const;
+       void write_entryUpdate(QDateTime val);
+
+       QDateTime read_myUpdate() const;
+       void write_myUpdate(QDateTime val);
+
+       int read_epno() const;
+       void write_epno(int val);
+
+       QString read_titleEnglish() const;
+       void write_titleEnglish(QString val);
+
+       QString read_titleRomaji() const;
+       void write_titleRomaji(QString val);
+
+       QString read_titleKanji() const;
+       void write_titleKanji(QString val);
+
+       int read_length() const;
+       void write_length(int val);
+
+       QDateTime read_airdate() const;
+       void write_airdate(QDateTime val);
+
+       int read_state() const;
+       void write_state(int val);
+
+       bool read_special() const;
+       void write_special(bool val);
+
+       bool read_recap() const;
+       void write_recap(bool val);
+
+       bool read_opening() const;
+       void write_opening(bool val);
+
+       bool read_ending() const;
+       void write_ending(bool val);
+
+       double read_rating() const;
+       void write_rating(double val);
+
+       int read_votes() const;
+       void write_votes(int val);
+
+       double read_myVote() const;
+       void write_myVote(double val);
+
+       QDateTime read_myVoteDate() const;
+       void write_myVoteDate(QDateTime val);
+};
+
+class LOCALMYLISTSHARED_EXPORT File : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(int eid READ read_eid WRITE write_eid)
+       Q_PROPERTY(int aid READ read_aid WRITE write_aid)
+       Q_PROPERTY(int gid READ read_gid WRITE write_gid)
+       Q_PROPERTY(QDateTime anidbUpdate READ read_anidbUpdate WRITE write_anidbUpdate)
+       Q_PROPERTY(QDateTime entryUpdate READ read_entryUpdate WRITE write_entryUpdate)
+       Q_PROPERTY(QDateTime myUpdate READ read_myUpdate WRITE write_myUpdate)
+       Q_PROPERTY(QByteArray ed2k READ read_ed2k WRITE write_ed2k)
+       Q_PROPERTY(qint64 size READ read_size WRITE write_size)
+       Q_PROPERTY(int length READ read_length WRITE write_length)
+       Q_PROPERTY(QString extension READ read_extension WRITE write_extension)
+       Q_PROPERTY(QString groupName READ read_groupName WRITE write_groupName)
+       Q_PROPERTY(QString groupNameShort READ read_groupNameShort WRITE write_groupNameShort)
+       Q_PROPERTY(QString crc READ read_crc WRITE write_crc)
+       Q_PROPERTY(QDateTime releaseDate READ read_releaseDate WRITE write_releaseDate)
+       Q_PROPERTY(int version READ read_version WRITE write_version)
+       Q_PROPERTY(bool censored READ read_censored WRITE write_censored)
+       Q_PROPERTY(QString type READ read_type WRITE write_type)
+       Q_PROPERTY(int qualityId READ read_qualityId WRITE write_qualityId)
+       Q_PROPERTY(QString quality READ read_quality WRITE write_quality)
+       Q_PROPERTY(QString resolution READ read_resolution WRITE write_resolution)
+       Q_PROPERTY(QString videoCodec READ read_videoCodec WRITE write_videoCodec)
+       Q_PROPERTY(QString audioCodec READ read_audioCodec WRITE write_audioCodec)
+       Q_PROPERTY(QString audioLanguage READ read_audioLanguage WRITE write_audioLanguage)
+       Q_PROPERTY(QString subtitleLanguage READ read_subtitleLanguage WRITE write_subtitleLanguage)
+       Q_PROPERTY(QString aspectRatio READ read_aspectRatio WRITE write_aspectRatio)
+       Q_PROPERTY(QDateTime myWatched READ read_myWatched WRITE write_myWatched)
+       Q_PROPERTY(int myState READ read_myState WRITE write_myState)
+       Q_PROPERTY(int myFileState READ read_myFileState WRITE write_myFileState)
+       Q_PROPERTY(QString myStorage READ read_myStorage WRITE write_myStorage)
+       Q_PROPERTY(QString mySource READ read_mySource WRITE write_mySource)
+       Q_PROPERTY(QString myOther READ read_myOther WRITE write_myOther)
+
+       ::LocalMyList::File *thisObj() const;
+public:
+       File(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_fid() const;
+       void write_fid(int val);
+
+       int read_eid() const;
+       void write_eid(int val);
+
+       int read_aid() const;
+       void write_aid(int val);
+
+       int read_gid() const;
+       void write_gid(int val);
+
+       QDateTime read_anidbUpdate() const;
+       void write_anidbUpdate(QDateTime val);
+
+       QDateTime read_entryUpdate() const;
+       void write_entryUpdate(QDateTime val);
+
+       QDateTime read_myUpdate() const;
+       void write_myUpdate(QDateTime val);
+
+       QByteArray read_ed2k() const;
+       void write_ed2k(QByteArray val);
+
+       qint64 read_size() const;
+       void write_size(qint64 val);
+
+       int read_length() const;
+       void write_length(int val);
+
+       QString read_extension() const;
+       void write_extension(QString val);
+
+       QString read_groupName() const;
+       void write_groupName(QString val);
+
+       QString read_groupNameShort() const;
+       void write_groupNameShort(QString val);
+
+       QString read_crc() const;
+       void write_crc(QString val);
+
+       QDateTime read_releaseDate() const;
+       void write_releaseDate(QDateTime val);
+
+       int read_version() const;
+       void write_version(int val);
+
+       bool read_censored() const;
+       void write_censored(bool val);
+
+       QString read_type() const;
+       void write_type(QString val);
+
+       int read_qualityId() const;
+       void write_qualityId(int val);
+
+       QString read_quality() const;
+       void write_quality(QString val);
+
+       QString read_resolution() const;
+       void write_resolution(QString val);
+
+       QString read_videoCodec() const;
+       void write_videoCodec(QString val);
+
+       QString read_audioCodec() const;
+       void write_audioCodec(QString val);
+
+       QString read_audioLanguage() const;
+       void write_audioLanguage(QString val);
+
+       QString read_subtitleLanguage() const;
+       void write_subtitleLanguage(QString val);
+
+       QString read_aspectRatio() const;
+       void write_aspectRatio(QString val);
+
+       QDateTime read_myWatched() const;
+       void write_myWatched(QDateTime val);
+
+       int read_myState() const;
+       void write_myState(int val);
+
+       int read_myFileState() const;
+       void write_myFileState(int val);
+
+       QString read_myStorage() const;
+       void write_myStorage(QString val);
+
+       QString read_mySource() const;
+       void write_mySource(QString val);
+
+       QString read_myOther() const;
+       void write_myOther(QString val);
+};
+
+class LOCALMYLISTSHARED_EXPORT FileLocation : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(int hostId READ read_hostId WRITE write_hostId)
+       Q_PROPERTY(QString path READ read_path WRITE write_path)
+       Q_PROPERTY(QDateTime renamed READ read_renamed WRITE write_renamed)
+       Q_PROPERTY(bool failedRename READ read_failedRename WRITE write_failedRename)
+
+       ::LocalMyList::FileLocation *thisObj() const;
+public:
+       FileLocation(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_fid() const;
+       void write_fid(int val);
+
+       int read_hostId() const;
+       void write_hostId(int val);
+
+       QString read_path() const;
+       void write_path(QString val);
+
+       QDateTime read_renamed() const;
+       void write_renamed(QDateTime val);
+
+       bool read_failedRename() const;
+       void write_failedRename(bool val);
+};
+
+class LOCALMYLISTSHARED_EXPORT UnknownFile : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(QByteArray ed2k READ read_ed2k WRITE write_ed2k)
+       Q_PROPERTY(qint64 size READ read_size WRITE write_size)
+       Q_PROPERTY(int hostId READ read_hostId WRITE write_hostId)
+       Q_PROPERTY(QString path READ read_path WRITE write_path)
+
+       ::LocalMyList::UnknownFile *thisObj() const;
+public:
+       UnknownFile(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       QByteArray read_ed2k() const;
+       void write_ed2k(QByteArray val);
+
+       qint64 read_size() const;
+       void write_size(qint64 val);
+
+       int read_hostId() const;
+       void write_hostId(int val);
+
+       QString read_path() const;
+       void write_path(QString val);
+};
+
+class LOCALMYLISTSHARED_EXPORT FileEpisodeRel : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(int eid READ read_eid WRITE write_eid)
+       Q_PROPERTY(int startPercent READ read_startPercent WRITE write_startPercent)
+       Q_PROPERTY(int endPercent READ read_endPercent WRITE write_endPercent)
+
+       ::LocalMyList::FileEpisodeRel *thisObj() const;
+public:
+       FileEpisodeRel(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_fid() const;
+       void write_fid(int val);
+
+       int read_eid() const;
+       void write_eid(int val);
+
+       int read_startPercent() const;
+       void write_startPercent(int val);
+
+       int read_endPercent() const;
+       void write_endPercent(int val);
+};
+
+class LOCALMYLISTSHARED_EXPORT PendingRequest : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int aid READ read_aid WRITE write_aid)
+       Q_PROPERTY(int eid READ read_eid WRITE write_eid)
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(QByteArray ed2k READ read_ed2k WRITE write_ed2k)
+       Q_PROPERTY(qint64 size READ read_size WRITE write_size)
+
+       ::LocalMyList::PendingRequest *thisObj() const;
+public:
+       PendingRequest(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_aid() const;
+       void write_aid(int val);
+
+       int read_eid() const;
+       void write_eid(int val);
+
+       int read_fid() const;
+       void write_fid(int val);
+
+       QByteArray read_ed2k() const;
+       void write_ed2k(QByteArray val);
+
+       qint64 read_size() const;
+       void write_size(qint64 val);
+};
+
+class LOCALMYLISTSHARED_EXPORT PendingMyListUpdate : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(qint64 updateId READ read_updateId WRITE write_updateId)
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(bool setMyWatched READ read_setMyWatched WRITE write_setMyWatched)
+       Q_PROPERTY(QDateTime myWatched READ read_myWatched WRITE write_myWatched)
+       Q_PROPERTY(bool setMyState READ read_setMyState WRITE write_setMyState)
+       Q_PROPERTY(int myState READ read_myState WRITE write_myState)
+       Q_PROPERTY(bool setMyFileState READ read_setMyFileState WRITE write_setMyFileState)
+       Q_PROPERTY(int myFileState READ read_myFileState WRITE write_myFileState)
+       Q_PROPERTY(bool setMyStorage READ read_setMyStorage WRITE write_setMyStorage)
+       Q_PROPERTY(QString myStorage READ read_myStorage WRITE write_myStorage)
+       Q_PROPERTY(bool setMySource READ read_setMySource WRITE write_setMySource)
+       Q_PROPERTY(QString mySource READ read_mySource WRITE write_mySource)
+       Q_PROPERTY(bool setMyOther READ read_setMyOther WRITE write_setMyOther)
+       Q_PROPERTY(QString myOther READ read_myOther WRITE write_myOther)
+       Q_PROPERTY(QDateTime added READ read_added WRITE write_added)
+       Q_PROPERTY(QDateTime started READ read_started WRITE write_started)
+       Q_PROPERTY(QDateTime finished READ read_finished WRITE write_finished)
+
+       ::LocalMyList::PendingMyListUpdate *thisObj() const;
+public:
+       PendingMyListUpdate(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       qint64 read_updateId() const;
+       void write_updateId(qint64 val);
+
+       int read_fid() const;
+       void write_fid(int val);
+
+       bool read_setMyWatched() const;
+       void write_setMyWatched(bool val);
+
+       QDateTime read_myWatched() const;
+       void write_myWatched(QDateTime val);
+
+       bool read_setMyState() const;
+       void write_setMyState(bool val);
+
+       int read_myState() const;
+       void write_myState(int val);
+
+       bool read_setMyFileState() const;
+       void write_setMyFileState(bool val);
+
+       int read_myFileState() const;
+       void write_myFileState(int val);
+
+       bool read_setMyStorage() const;
+       void write_setMyStorage(bool val);
+
+       QString read_myStorage() const;
+       void write_myStorage(QString val);
+
+       bool read_setMySource() const;
+       void write_setMySource(bool val);
+
+       QString read_mySource() const;
+       void write_mySource(QString val);
+
+       bool read_setMyOther() const;
+       void write_setMyOther(bool val);
+
+       QString read_myOther() const;
+       void write_myOther(QString val);
+
+       QDateTime read_added() const;
+       void write_added(QDateTime val);
+
+       QDateTime read_started() const;
+       void write_started(QDateTime val);
+
+       QDateTime read_finished() const;
+       void write_finished(QDateTime val);
+};
+
+class LOCALMYLISTSHARED_EXPORT HostInfo : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int id READ read_id WRITE write_id)
+       Q_PROPERTY(QString name READ read_name WRITE write_name)
+       Q_PROPERTY(bool isUdpHost READ read_isUdpHost WRITE write_isUdpHost)
+
+       ::LocalMyList::HostInfo *thisObj() const;
+public:
+       HostInfo(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_id() const;
+       void write_id(int val);
+
+       QString read_name() const;
+       void write_name(QString val);
+
+       bool read_isUdpHost() const;
+       void write_isUdpHost(bool val);
+};
+
+class LOCALMYLISTSHARED_EXPORT OpenFileData : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(int fid READ read_fid WRITE write_fid)
+       Q_PROPERTY(QString animeTitle READ read_animeTitle WRITE write_animeTitle)
+       Q_PROPERTY(QString episodeTitle READ read_episodeTitle WRITE write_episodeTitle)
+       Q_PROPERTY(int epno READ read_epno WRITE write_epno)
+       Q_PROPERTY(QString path READ read_path WRITE write_path)
+
+       ::LocalMyList::OpenFileData *thisObj() const;
+public:
+       OpenFileData(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       int read_fid() const;
+       void write_fid(int val);
+
+       QString read_animeTitle() const;
+       void write_animeTitle(QString val);
+
+       QString read_episodeTitle() const;
+       void write_episodeTitle(QString val);
+
+       int read_epno() const;
+       void write_epno(int val);
+
+       QString read_path() const;
+       void write_path(QString val);
+};
+
+class LOCALMYLISTSHARED_EXPORT DatabaseConnectionSettings : public QObject, protected QScriptable
+{
+       Q_OBJECT
+       Q_PROPERTY(QString host READ read_host WRITE write_host)
+       Q_PROPERTY(quint16 port READ read_port WRITE write_port)
+       Q_PROPERTY(QString user READ read_user WRITE write_user)
+       Q_PROPERTY(QString pass READ read_pass WRITE write_pass)
+       Q_PROPERTY(QString database READ read_database WRITE write_database)
+
+       ::LocalMyList::DatabaseConnectionSettings *thisObj() const;
+public:
+       DatabaseConnectionSettings(QObject *parent = 0);
+
+public slots:
+       QString toString() const;
+
+public:
+       QString read_host() const;
+       void write_host(QString val);
+
+       quint16 read_port() const;
+       void write_port(quint16 val);
+
+       QString read_user() const;
+       void write_user(QString val);
+
+       QString read_pass() const;
+       void write_pass(QString val);
+
+       QString read_database() const;
+       void write_database(QString val);
+};
+
+} // namespace Scriptable
+
+} // namespace LocalMyList
+
+#endif // SCRIPTABLE_H