29 bool Unpack(
const string& value);
79template <
class BaseDb>
85 return BaseDb::CreateMetadata() &&
UserDbHelper(
this).UpdateUserInfo();
90 : BaseDb::Backup(snapshot_file);
95 : BaseDb::Restore(snapshot_file);
100template <
class BaseDb>
116 virtual bool MetaPut(
const string& key,
const string& value);
117 virtual bool Put(
const string& key,
const string& value);
133 virtual bool MetaPut(
const string& key,
const string& value);
134 virtual bool Put(
const string& key,
const string& value);
#define RIME_DLL
Definition rime_api.h:33
std::shared_ptr< T > an
Definition common.h:60
std::unique_ptr< T > the
Definition common.h:58
uint64_t TickCount
Definition user_db.h:17
static Component * Require(const string &name)
Definition component.h:29
path DbFilePath(const string &name, const string &extension) const
Definition db.cc:32
DbComponentBase()
Definition db.cc:26
bool Unpack(const string &value)
Definition user_db.cc:28
string Pack() const
Definition user_db.cc:22
double dee
Definition user_db.h:22
int commits
Definition user_db.h:21
TickCount tick
Definition user_db.h:23
static string snapshot_extension()
Definition user_db.cc:61
static Component * Require(const string &name)
Requires a registered component for a user db class.
Definition user_db.h:50
Abstract class for a user db component.
Definition user_db.h:44
virtual string extension() const =0
UserDbHelper(const the< Db > &db)
Definition user_db.h:61
string GetDbName()
Definition user_db.cc:148
UserDbHelper(Db *db)
Definition user_db.h:60
RIME_DLL bool UniformBackup(const path &snapshot_file)
Definition user_db.cc:115
Db * db_
Definition user_db.h:75
RIME_DLL bool UpdateUserInfo()
Definition user_db.cc:105
static RIME_DLL bool IsUniformFormat(const path &file_path)
Definition user_db.cc:110
bool IsUserDb()
Definition user_db.cc:143
string GetRimeVersion()
Definition user_db.cc:166
RIME_DLL bool UniformRestore(const path &snapshot_file)
Definition user_db.cc:129
string GetUserId()
Definition user_db.cc:160
UserDbHelper(const an< Db > &db)
Definition user_db.h:62
A template to define a user db class based on an implementation of rime::Db.
Definition user_db.h:80
virtual bool CreateMetadata()
Definition user_db.h:84
virtual bool Restore(const path &snapshot_file)
Definition user_db.h:92
virtual bool Backup(const path &snapshot_file)
Definition user_db.h:87
RIME_DLL UserDbWrapper(const path &file_path, const string &db_name)
Implements a component that serves as a factory for a user db class.
Definition user_db.h:101
UserDbWrapper< BaseDb > UserDbImpl
Definition user_db.h:103
Db * Create(const string &name) override
Definition user_db.h:104
string extension() const override
void CloseMerge()
Definition user_db.cc:226
int merged_entries_
Definition user_db.h:126
TickCount our_tick_
Definition user_db.h:123
Db * db_
Definition user_db.h:122
TickCount max_tick_
Definition user_db.h:125
virtual bool Put(const string &key, const string &value)
Definition user_db.cc:204
TickCount their_tick_
Definition user_db.h:124
UserDbMerger(Db *db)
Definition user_db.cc:183
virtual bool MetaPut(const string &key, const string &value)
Definition user_db.cc:193
virtual bool Put(const string &key, const string &value)
Definition user_db.cc:248
UserDbImporter(Db *db)
Definition user_db.cc:242
Db * db_
Definition user_db.h:137
virtual bool MetaPut(const string &key, const string &value)
Definition user_db.cc:244