22 #ifndef ctkXnatObject_h
23 #define ctkXnatObject_h
25 #include "ctkXNATCoreExport.h"
36 class ctkXnatObjectPrivate;
53 virtual QString id()
const;
57 virtual void setId(
const QString&
id);
61 virtual QString resourceUri()
const = 0;
64 virtual QString name()
const;
67 virtual void setName(
const QString& name);
70 QString description()
const;
73 void setDescription(
const QString& description);
76 QString property(
const QString& name)
const;
79 void setProperty(
const QString& name,
const QVariant& value);
82 virtual QDateTime lastModifiedTimeOnServer();
85 void setLastModifiedTime(
const QDateTime& lastModifiedTime);
88 const QMap<QString, QString>& properties()
const;
108 bool isFetched()
const;
110 QString schemaType()
const;
113 virtual QString childDataType()
const;
117 virtual void reset();
120 void fetch(
bool forceFetch =
false);
128 void save(
bool overwrite =
true);
133 void download(
const QString&);
143 QString format =
"", QString content =
"", QString tags =
"");
160 static const QString
ID;
181 virtual void fetchResources(
const QString &path =
"/resources");
184 const QScopedPointer<ctkXnatObjectPrivate>
d_ptr;
188 friend class ctkXnatSessionPrivate;
190 void setSchemaType(
const QString& schemaType);
193 virtual void fetchImpl() = 0;
196 virtual void downloadImpl(
const QString&) = 0;
202 virtual void saveImpl(
bool overwrite =
true);