24 #ifndef KLFLIBDBENGINE_H 25 #define KLFLIBDBENGINE_H 27 #include <QSqlDatabase> 104 virtual uint
compareUrlTo(
const QUrl& other, uint interestFlags = 0xfffffff)
const;
114 virtual bool validDatabase()
const;
116 virtual void setDatabase(
const QSqlDatabase& db_connection);
138 {
return QList<int>() << SubResPropTitle << SubResPropViewType << SubResPropLocked; }
163 void resourcePropertyUpdate(
int propId);
166 void subResourcePropertyUpdate(
const QString& subResource,
int propId);
170 void readResourceProperty(
int propId);
172 void readDbMetaInfo();
174 void readAvailColumns(
const QString& subResource);
178 bool accessshared,
QObject *parent);
188 bool wantIdFirst =
true);
192 QVariant dbMakeEntryPropertyValue(
const QVariant& entryValue,
int entryPropertyId);
193 QVariant dbReadEntryPropertyValue(
const QVariant& dbdata,
int entryPropertyId);
202 bool ensureDataTableColumnsExist(
const QString& subResource,
const QStringList& columnList);
205 bool ensureDataTableColumnsExist(
const QString& subResource);
213 bool tableExists(
const QString& subResource)
const;
virtual bool saveTo(const QUrl &newPath)
virtual uint compareUrlTo(const QUrl &other, uint interestFlags=0xfffffff) const =0
Compare this resource's URL with another's.
virtual uint schemeFunctions(const QString &scheme) const
What this factory is capable of doing.
virtual ~KLFLibDBEngineFactory()
virtual bool createSubResource(const QString &subResource, const QString &subResourceTitle)
Create a new sub-resource.
virtual QVariant subResourceProperty(const QString &subResource, int propId) const
A structure that describes a query for query()
QString dbConnectionName() const
virtual QList< KLFLibEntryWithId > entries(const QString &subResource, const QList< KLFLib::entryId > &idList, const QList< int > &wantedEntryProperties=QList< int >())=0
query multiple entries in this resource
virtual bool canRegisterProperty(const QString &propName) const
virtual bool hasEntry(const QString &subResource, entryId id)=0
query the existence of an entry in this resource
virtual bool setSubResourceProperty(const QString &subResource, int propId, const QVariant &value)
virtual KLFLibResourceEngine * openResource(const QUrl &location, QObject *parent=NULL)=0
bool autoDisconnectDB() const
virtual KLFLibEntry entry(const QString &subResource, entryId id)=0
query an entry in this resource
virtual QStringList supportedTypes() const =0
A list of supported URL schemes this factory can open.
QString pDBConnectionName
virtual QList< QVariant > queryValues(const QString &subResource, int entryPropId)=0
List all distinct values that a property takes in all entries.
A utility class to automatically disconnect a database after use.
virtual bool deleteSubResource(const QString &subResource)
KLFLibDBLocalFileSchemeGuesser(QObject *parent)
virtual bool compareDefaultSubResourceEquals(const QString &subResourceName) const
Compare our sub-resource name to another.
virtual QList< KLFLib::entryId > allIds()
Returns all IDs in this resource (and the default sub-resource)
virtual int query(const QString &subResource, const Query &query, QueryResult *result)=0
query entries in this resource with specified property values
void setDBConnectionName(const QString &name)
virtual bool saveResourceProperty(int propId, const QVariant &value)=0
Save a resource property to the backend resource data.
virtual KLFLibResourceEngine * createResource(const QString &scheme, const Parameters ¶meters, QObject *parent=NULL)
Create a new resource of given type and parameters.
virtual bool canCreateSubResource() const
virtual bool deleteEntries(const QString &subResource, const QList< entryId > &idlist)=0
Delete some entries in this resource.
virtual QList< int > subResourcePropertyIdList() const
virtual bool canModifyData(const QString &subResource, ModifyType modifytype) const
virtual QList< entryId > insertEntries(const QString &subResource, const KLFLibEntryList &entrylist)=0
Insert new entries in this resource.
virtual QStringList subResourceList() const
void setAutoDisconnectDB(bool autodisconnectDB)
virtual bool canRenameSubResource() const
Interface for guessing file schemes.
A structure that will hold the result of a query() query.
virtual QString schemeTitle(const QString &scheme) const =0
An entry (single formula) in the library.
virtual bool hasSubResource(const QString &subResource) const
virtual bool changeEntries(const QString &subResource, const QList< entryId > &idlist, const QList< int > &properties, const QList< QVariant > &values)=0
Change some entries in this resource.
virtual QList< KLFLibEntryWithId > allEntries(const QString &subResource, const QList< int > &wantedEntryProperties=QList< int >())=0
query all entries in this resource
virtual QString guessScheme(const QString &fileName) const =0
Guess the appropriate scheme for handling the given file.
An abstract resource engine.
virtual QString correspondingWidgetType(const QString &scheme) const =0
virtual bool canDeleteSubResource(const QString &subResource) const
virtual bool canModifyProp(int propId) const