gitbase.h 735 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef GITBASE_H
  2. #define GITBASE_H
  3. #include <gitrepository.h>
  4. #include <gitoid.h>
  5. #include <QObject>
  6. #include <git2/types.h>
  7. #include <git2/oid.h>
  8. class GitRepository;
  9. template <typename T>
  10. class GitBase : public QObject
  11. {
  12. public:
  13. GitBase(T* raw, GitRepository* parent) : QObject(parent)
  14. ,m_raw(raw)
  15. ,m_repository(parent)
  16. ,m_oid(nullptr, parent)
  17. {}
  18. T* raw() const {
  19. return m_raw;
  20. }
  21. bool isValid() const {
  22. return m_raw != nullptr;
  23. }
  24. GitRepository* repository() const {
  25. return m_repository;
  26. }
  27. const GitOid& oid() const {
  28. return m_oid;
  29. }
  30. protected:
  31. T* m_raw;
  32. GitRepository* m_repository;
  33. GitOid m_oid;
  34. };
  35. #endif // GITBASE_H