librime 1.2
Rime Input Method Engine, the core library
deployment_tasks.h
Go to the documentation of this file.
1//
2// Copyright RIME Developers
3// Distributed under the BSD License
4//
5// 2012-02-10 GONG Chen <chen.sst@gmail.com>
6//
7#ifndef RIME_DEPLOYMENT_TASKS_H_
8#define RIME_DEPLOYMENT_TASKS_H_
9
10#include <rime/common.h>
11#include <rime/deployer.h>
12
13namespace rime {
14
15// detects changes in either user configuration or upgraded shared data
17 public:
19 // Unlike other tasks, its return value indicates whether modifications
20 // has been detected and workspace needs update.
21 bool Run(Deployer* deployer);
22
23 protected:
24 vector<path> data_dirs_;
25};
26
27// initialize/update installation.yaml
29 public:
31 bool Run(Deployer* deployer);
32};
33
34// update distributed config files and preset schemas
36 public:
38 bool Run(Deployer* deployer);
39
40 protected:
41 string GetSchemaPath(Deployer* deployer,
42 const string& schema_id,
43 bool prefer_shared_copy);
44};
45
46// update a specific schema, build corresponding dictionary
48 public:
49 explicit SchemaUpdate(const path& source_path) : source_path_(source_path) {}
51 bool Run(Deployer* deployer);
52 void set_verbose(bool verbose) { verbose_ = verbose; }
53
54 protected:
56 bool verbose_ = false;
57};
58
59// update a specific config file
61 public:
62 ConfigFileUpdate(const string& file_name, const string& version_key)
63 : file_name_(file_name), version_key_(version_key) {}
65 bool Run(Deployer* deployer);
66
67 protected:
68 string file_name_;
70};
71
72// for installer
74 public:
76 bool Run(Deployer* deployer);
77};
78
79// create symlinks to prebuilt dictionaries in user directory
81 public:
83 bool Run(Deployer* deployer);
84};
85
86// upgrade user dictionaries
88 public:
90 bool Run(Deployer* deployer);
91};
92
94 public:
96 bool Run(Deployer* deployer);
97};
98
100 public:
102 bool Run(Deployer* deployer);
103};
104
106 public:
108 bool Run(Deployer* deployer);
109};
110
112 public:
114 bool Run(Deployer* deployer);
115};
116
117} // namespace rime
118
119#endif // RIME_DEPLOYMENT_TASKS_H_
#define RIME_DLL
Definition rime_api.h:33
Definition algebra.cc:12
std::any TaskInitializer
Definition deployer.h:22
Definition common.h:84
DeploymentTask()=default
Definition deployer.h:32
vector< path > data_dirs_
Definition deployment_tasks.h:24
DetectModifications(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.cc:36
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:44
InstallationUpdate(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:30
WorkspaceUpdate(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:37
string GetSchemaPath(Deployer *deployer, const string &schema_id, bool prefer_shared_copy)
Definition deployment_tasks.h:47
path source_path_
Definition deployment_tasks.h:55
bool verbose_
Definition deployment_tasks.h:56
void set_verbose(bool verbose)
Definition deployment_tasks.h:52
SchemaUpdate(const path &source_path)
Definition deployment_tasks.h:49
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:431
string file_name_
Definition deployment_tasks.h:68
string version_key_
Definition deployment_tasks.h:69
ConfigFileUpdate(const string &file_name, const string &version_key)
Definition deployment_tasks.h:62
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:454
PrebuildAllSchemas(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:75
SymlinkingPrebuiltDictionaries(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:82
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:472
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:505
UserDictUpgrade(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:89
UserDictSync(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:95
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:522
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:541
BackupConfigFiles(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:101
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:588
CleanupTrash(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:107
bool Run(Deployer *deployer)
Definition deployment_tasks.cc:624
CleanOldLogFiles(TaskInitializer arg=TaskInitializer())
Definition deployment_tasks.h:113