Polyphase Game Engine
Loading...
Searching...
No Matches
GitService.h
Go to the documentation of this file.
1#pragma once
2
3#if EDITOR
4
5#include <string>
6#include <memory>
7
8class GitRepository;
9class GitOperationQueue;
10class GitCliProbe;
11
12class GitService
13{
14public:
15 static void Create();
16 static void Destroy();
17 static GitService* Get();
18
19 void Update();
20
21 bool OpenRepository(const std::string& path);
22 bool InitRepository(const std::string& path, const std::string& initialBranch = "main");
23 void CloneRepository(const std::string& url, const std::string& destPath, const std::string& branch = "");
24 void CloseRepository();
25
26 GitRepository* GetCurrentRepo();
27 GitOperationQueue* GetOperationQueue();
28 GitCliProbe* GetCliProbe();
29
30 bool IsRepositoryOpen() const;
31
32private:
33 GitService();
34 ~GitService();
35
36 std::unique_ptr<GitRepository> mRepository;
37 std::unique_ptr<GitOperationQueue> mOperationQueue;
38 std::unique_ptr<GitCliProbe> mCliProbe;
39};
40
41#endif
bool Update()
Definition Engine.cpp:710