7#ifndef RIME_DEPLOYER_H_
8#define RIME_DEPLOYER_H_
51 bool RunTask(
const string& task_name,
60 bool StartWork(
bool maintenance_mode =
false);
71 std::queue<of<DeploymentTask>> pending_tasks_;
73 std::future<void> work_;
74 bool maintenance_mode_ =
false;
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
std::any TaskInitializer
Definition deployer.h:22
Definition component.h:21
virtual ~DeploymentTask()=default
virtual bool Run(Deployer *deployer)=0
bool backup_config_files
Definition deployer.h:45
bool HasPendingTasks()
Definition deployer.cc:74
string app_name
Definition deployer.h:44
path shared_data_dir
Definition deployer.h:35
string distribution_name
Definition deployer.h:41
path user_data_dir
Definition deployer.h:36
RIME_DLL Deployer()
Definition deployer.cc:15
string user_id
Definition deployer.h:40
void JoinWorkThread()
Definition deployer.cc:141
path prebuilt_data_dir
Definition deployer.h:37
string distribution_version
Definition deployer.h:43
an< DeploymentTask > NextTask()
Definition deployer.cc:62
bool StartWork(bool maintenance_mode=false)
Definition deployer.cc:106
bool ScheduleTask(const string &task_name, TaskInitializer arg=TaskInitializer())
Definition deployer.cc:42
bool Run()
Definition deployer.cc:79
bool IsWorking()
Definition deployer.cc:130
bool StartMaintenance()
Definition deployer.cc:126
path user_data_sync_dir() const
Definition deployer.cc:150
bool RunTask(const string &task_name, TaskInitializer arg=TaskInitializer())
Definition deployer.cc:28
bool IsMaintenanceMode()
Definition deployer.cc:137
string distribution_code_name
Definition deployer.h:42
void JoinMaintenanceThread()
Definition deployer.cc:146
path staging_dir
Definition deployer.h:38
path sync_dir
Definition deployer.h:39
Definition messenger.h:14