~aleteoryx/muditaos

ref: 77178548f3541541db14b9bca00944b031094b16 muditaos/module-services/service-db/agents/quotes/QuotesAgent.hpp -rw-r--r-- 1.5 KiB
77178548 — Marcin Smoczyński [EGD-5260] Mono to stereo software conversion 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

#include <service-db/DatabaseAgent.hpp>
#include <service-db/QuotesMessages.hpp>

namespace Quotes
{
    class QuotesAgent : public DatabaseAgent
    {
      public:
        explicit QuotesAgent(sys::Service *parentService);
        ~QuotesAgent() = default;

        void initDb() override
        {}
        void deinitDb() override
        {}
        void registerMessages() override;
        auto getAgentName() -> const std::string override;

      protected:
        auto handleCategoryList(sys::Message *req) -> sys::MessagePointer;
        auto handleQuotesList(sys::Message *req) -> sys::MessagePointer;
        auto handleQuotesListByCategoryId(sys::Message *req) -> sys::MessagePointer;
        auto handleEnableCategoryById(sys::Message *req) -> sys::MessagePointer;
        auto handleEnableQuoteById(sys::Message *req) -> sys::MessagePointer;
        auto handleEnabledQuotesList(sys::Message *req) -> sys::MessagePointer;
        auto handleAddQuote(sys::Message *req) -> sys::MessagePointer;
        auto handleReadQuote(sys::Message *req) -> sys::MessagePointer;
        auto handleWriteQuote(sys::Message *req) -> sys::MessagePointer;
        auto handleDeleteQuote(sys::Message *req) -> sys::MessagePointer;

      private:
        auto getDbInitString() -> const std::string override;
        auto getDbFilePath() -> const std::string override;
    };
} // namespace Quotes