kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Manager.h
1#include <functional>
2
3#include <kDB/Forward.h>
4#include <kDB/Repository/TriplesStore.h>
5
6#include "Revision.h"
7
8namespace kDB::Repository::VersionControl
9{
10 class Manager
11 {
12 friend class Repository::TriplesStore;
14 public:
15 ~Manager();
19 void setSigningEnabled(bool _signing);
23 bool signingEnabled() const;
24 QList<Revision> revisions(const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
26 QByteArray tipHash(const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
31 RevisionBuilder insertRevision(const QByteArray& _content_hash);
32 QList<Revision> revisionsPath(const QByteArray& _source, const QByteArray& _destination) const;
33 bool hasRevision(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
34 Revision revision(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
38 bool canFastForward(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
39 knowCore::ReturnVoid fastForward(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
43 bool containsChangesFrom(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
47 knowCore::ReturnVoid checkout(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
48 bool canMerge(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
49 knowCore::ReturnVoid merge(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
53 knowCore::ReturnVoid merge(const QList<QByteArray>& _hashes, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
57 knowCore::ReturnVoid publish(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
61 knowCore::ReturnVoid publish(const Revision& _revision, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
65 QMetaObject::Connection listenNewRevision(const std::function<void(const Revision&)>& _receiver);
69 QMetaObject::Connection listenRevisionTagsChanged(const std::function<void(const Revision&)>& _receiver);
75 bool canRebase(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
81 bool canRebaseTo(const QByteArray& _hash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction()) const;
87 knowCore::ReturnValue<Revision> rebase(const QByteArray& _hash, bool _squash, const kDB::Repository::Transaction& _transaction = kDB::Repository::Transaction());
88 void dump();
92 void setDefaultRevisionTags(Revision::Tags _tags);
96 void setDefaultRevisionTag(Revision::Tag _tag, bool _on = true);
100 Revision::Tags defaultRevisionTags() const;
101 private:
102 knowCore::ReturnVoid applyDelta(const kDB::Repository::Transaction& _transaction, const Delta& _delta, TriplesStore* _store, bool _reverse);
103 struct Private;
104 Private* const d;
105 };
106}
Definition Revision.h:9
Definition Forward.h:6
Definition Connection.h:25
Definition Transaction.h:19
Definition TriplesStore.h:18
bool canRebase(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
knowCore::ReturnVoid merge(const QList< QByteArray > &_hashes, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
Revision::Tags defaultRevisionTags() const
QMetaObject::Connection listenNewRevision(const std::function< void(const Revision &)> &_receiver)
void setDefaultRevisionTags(Revision::Tags _tags)
RevisionBuilder insertRevision(const QByteArray &_content_hash)
QMetaObject::Connection listenRevisionTagsChanged(const std::function< void(const Revision &)> &_receiver)
knowCore::ReturnVoid checkout(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
bool canFastForward(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
void setDefaultRevisionTag(Revision::Tag _tag, bool _on=true)
knowCore::ReturnVoid publish(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
Definition Manager.cpp:600
bool canRebaseTo(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const
knowCore::ReturnValue< Revision > rebase(const QByteArray &_hash, bool _squash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction())
bool containsChangesFrom(const QByteArray &_hash, const kDB::Repository::Transaction &_transaction=kDB::Repository::Transaction()) const