32 #ifndef ARNPERSIST_HPP    33 #define ARNPERSIST_HPP    39 #include <QStringList>    43 class ArnPersistPrivate;
    56 class ArnItemPersist : 
protected ArnItem    68     explicit ArnItemPersist( 
ArnPersist* arnPersist);
    69     virtual  ~ArnItemPersist();
    70     void  setStoreId( 
int id)  {_storeId = id;}
    71     int  storeId()
  const {
return _storeId;}
    72     void  setStoreType( StoreType type)  {_storeType = 
type;}
    73     StoreType  storeType()
  const {
return _storeType;}
    74     void  setMandatory( 
bool v)  {_isMandatory = v;}
    75     bool  isMandatory()
  const {
return _isMandatory;}
    77     ArnItem*  toArnItem() {
return this;}
    78     static ArnItemPersist*  fromArnItem( 
ArnItem* item) {
return static_cast<ArnItemPersist*
>( item);}
    90     using ArnItem::deleteLater;
   108     explicit ArnVcs( QObject* parent = arnNullptr);
   112     void  notify( 
const QString msg);
   113     void  progress( 
int, QString msg=QString());
   115     void  userSettingsR( QString name, QString email);
   116     void  filesR( QStringList files);
   120     void  branchesR( QStringList branches);
   121     void  tagsR( QStringList tags);
   122     void  statusR( QString statusLines);
   123     void  diffR( QString diffLines);
   124     void  logRecordR( QString lines);
   125     void  logR( QStringList refs, QStringList msgs);
   128     virtual void  log( 
int numLog);
   129     virtual void  files( QString ref);
   130     virtual void  commit( QString commitMsg, QStringList files, QString name, QString email);
   131     virtual void  tag( QString name, QString ref);
   132     virtual void  diff( QString ref, QStringList files);
   133     virtual void  logRecord( QString ref);
   135     virtual void  branches();
   136     virtual void  status();
   137     virtual void  userSettings();
   138     virtual void  setUserSettings( QString userName, QString userEmail);
   139     virtual void  checkout( QString ref, QStringList files);
   174     explicit ArnPersist( QObject* parent = arnNullptr);
   184     bool  setMountPoint( 
const QString& path);
   200     void  setPersistDir( 
const QString& path);
   208     void  setArchiveDir( 
const QString& path);
   218     void  setVcs( ArnVcs* vcs);
   226     bool  setupDataBase( 
const QString& dbName = 
"persist.db");
   234     bool  flush( 
const QString& path = QString());
   237     QString  metaDbValue( 
const QString& attr, 
const QString& def = QString());
   238     bool  setMetaDbValue( 
const QString& attr, 
const QString& value);
   239     bool  getDbId( 
const QString& path, 
int& storeId);
   240     bool  getDbValue( 
int storeId, QString& path, QByteArray& value);
   241     bool  getDbValue( 
const QString& path, QByteArray& value, 
int& storeId);
   242     bool  getDbMandatoryList( QList<int>& storeIdList);
   243     bool  getDbList( 
bool isUsed, QList<int>& storeIdList);
   244     bool  insertDbValue( 
const QString& path, 
const QByteArray& value);
   245     bool  updateDbValue( 
int storeId, 
const QByteArray& value);
   246     bool  updateDbUsed( 
int storeId, 
int isUsed);
   247     bool  updateDbMandatory( 
int storeId, 
int isMandatory);
   257     bool  doArchive( 
const QString& name = QString());
   261     ArnPersist( ArnPersistPrivate& dd, QObject* parent);
   262     ArnPersistPrivate* 
const  d_ptr;
   266     void  sapiFlush( 
const QString& path);
   267     void  sapiTest( 
const QString& str, 
int i=0);
   268     void  sapiLs( 
const QString& path);
   270     void  sapiRm( 
const QString& path);
   271     void  sapiTouch( 
const QString& path);
   272     void  sapiDbMandatory( 
const QString& path, 
bool isMandatory);
   273     void  sapiDbMandatoryLs( 
const QString& path);
   274     void  sapiDbLs( 
const QString& path, 
bool isUsed = 
true);
   275     void  sapiDbMarkUnused( 
const QString& path);
   280     void  doArnModeChanged( 
const QString& path, uint linkId, 
Arn::ObjectMode mode);
   287     ArnItemPersist*  getPersistItem( 
const QString& path);
   288     ArnItemPersist*  setupMandatory( 
const QString& path, 
bool isMandatory);
   289     void  removeFilePersistItem( 
const QString& path);
   290     void  getFileList( QStringList& flist, 
const QDir& dir, 
const QDir* baseDir = arnNullptr);
   291     void  loadFile( 
const QString& relPath);
   292     void  doLoadMandatory();
   294     void  setupSapi( ArnPersistSapi* sapi);
   295     void  convertFileList( QStringList& files, 
Arn::NameF nameF);
   296     void  dbSetupReadValue( 
const QString& meta, 
const QString& valueTxt,
   298     void  dbSetupWriteValue(QString& meta, QString& valueTxt, QByteArray& value);
   301 #endif // ARNPERSIST_HPP void setValue(const ArnItem &other, int ignoreSame=Arn::SameValue::DefaultAction)
Assign the value of an other ArnItem to an Arn Data Object 
 
void setDelay(int delay)
Set delay of data changed signal. 
 
Class for handling persistent Arn Data object. 
 
Class for advertising that a service is available. 
 
Arn::DataType type() const
The type stored in the Arn Data Object 
 
Arn::ObjectMode getMode() const
 
void addMode(Arn::ObjectMode mode)
Add general mode settings for this Arn Data Object 
 
QByteArray arnExport() const
 
QByteArray toByteArray(bool *isOk=arnNullptr) const
 
void setIgnoreSameValue(bool isIgnore=true)
Set skipping assignment of equal value. 
 
void arnImport(const QByteArray &data, int ignoreSame=Arn::SameValue::DefaultAction)
Import data to an Arn Data Object 
 
bool open(const QString &path)
Open a handle to an Arn Data Object 
 
Assigning same value gives default action set in ArnM or ArnItem. 
 
QString path(Arn::NameF nameF=Arn::NameF::EmptyOk) const
Path of the Arn Data Object 
 
void bypassDelayPending()
 
uint linkId() const
Get the id for this Arn Data Object 
 
#define ARNLIBSHARED_EXPORT
 
#define MQ_DECLARE_ENUM(EStruct)
Enums. 
 
Handle for an Arn Data Object.