Guitar
RepositoryModel.h
Go to the documentation of this file.
1 #ifndef REPOSITORYMODEL_H
2 #define REPOSITORYMODEL_H
3 
4 #include "BranchLabel.h"
5 #include "GitRunner.h"
6 #include <QMetaType>
7 
8 typedef std::vector<GitTag> TagList;
9 typedef QList<GitBranch> BranchList;
10 typedef QList<BranchLabel> BranchLabelList;
11 
14  std::map<GitHash, BranchList> branch_map;
15  std::map<GitHash, TagList> tag_map;
16  std::map<int, BranchLabelList> label_map;
17 };
18 
20  struct D {
21  std::optional<GitCommitItemList> commit_log;
22  std::optional<std::map<GitHash, BranchList>> branch_map;
23  std::optional<std::map<GitHash, TagList>> tag_map;
24  std::optional<std::map<int, BranchLabelList>> label_map;
25  };
26  std::shared_ptr<D> p;
28  : p(std::make_shared<D>())
29  {}
31  : p(r.p)
32  {}
33 };
34 Q_DECLARE_METATYPE(CommitLogExchangeData)
35 
36 #endif // REPOSITORYMODEL_H
QList< BranchLabel > BranchLabelList
Definition: RepositoryModel.h:10
QList< GitBranch > BranchList
Definition: RepositoryModel.h:9
std::vector< GitTag > TagList
Definition: RepositoryModel.h:8
Definition: GitTypes.h:30
Definition: GitObjectManager.h:7
Definition: RepositoryModel.h:20
std::optional< std::map< GitHash, TagList > > tag_map
Definition: RepositoryModel.h:23
std::optional< std::map< int, BranchLabelList > > label_map
Definition: RepositoryModel.h:24
std::optional< GitCommitItemList > commit_log
Definition: RepositoryModel.h:21
std::optional< std::map< GitHash, BranchList > > branch_map
Definition: RepositoryModel.h:22
Definition: RepositoryModel.h:19
CommitLogExchangeData(CommitLogExchangeData const &r)
Definition: RepositoryModel.h:30
CommitLogExchangeData()
Definition: RepositoryModel.h:27
std::shared_ptr< D > p
Definition: RepositoryModel.h:26
Definition: RepositoryModel.h:12
std::map< GitHash, TagList > tag_map
Definition: RepositoryModel.h:15
std::map< GitHash, BranchList > branch_map
Definition: RepositoryModel.h:14
GitCommitItemList commit_log
Definition: RepositoryModel.h:13
std::map< int, BranchLabelList > label_map
Definition: RepositoryModel.h:16