1 #include <boost/filesystem/path.hpp>
5 namespace monazilla { namespace GikoMona { namespace core {
7 struct model::model_pimpl {
10 * bbs-name(TEXT)|board-name(TEXT)|thread-id(TEXT)|thread-name(TEXT)|is_fixed(INTEGAR)
15 * date(TEXT)|bbs-name(TEXT)|board-name(TEXT)|thread-id(TEXT)|thread-name(TEXT)
22 model::model() noexcept {
24 pimpl = std::make_shared<model_pimpl>();
26 auto config_path = pimpl->app_config.select<boost::filesystem::path>("config", "file-path");
28 pimpl->tab_db.create(config_path);
33 bool model::load_file(const boost::filesystem::path& file_path,
34 const mona_string& loaded_table_name) {
35 if(!boost::filesystem::exists(file_path)) {
42 void model::exec_inserted_query() {
43 inserted_value_triv_copyable_type q;
44 if(query_queue.empty()) {
52 std::tie(*q, into, value);
54 analyze_into_path_in_query(into);
56 if(into.find_first_of("application", 0, into.length()) != mona_string::npos) {
58 } else if (into.find_first_of("session", 0, into.length()) != mona_string::npos) {
60 if(into.find("history", 0, into.length()) != mona_string::npos) {
62 } else if(into.find("tab-window") != mona_string::npos != mona_string::npos) {
63 pimpl->tab_db.insert(into, tup);
65 } else if(into.find_first_of("extension", 0, into.length()) != mona_string::npos) {