~aleteoryx/muditaos

ref: 6bbef804c0605b90a3aff579376e9ea940733238 muditaos/module-apps/application-phonebook/ApplicationPhonebook.hpp -rw-r--r-- 1.9 KiB
6bbef804 — Michał Kamoń [EGD-4284] missing include added (#956) 5 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
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

#include "Application.hpp"

#include <string>

namespace gui::window::name
{
    inline const std::string contact          = "Contact";
    inline const std::string contact_options  = "Options";
    inline const std::string namecard_options = "Namecard Options";
    inline const std::string new_contact      = "New";
    inline const std::string search           = "Search";
    inline const std::string search_results   = "SearchResults";
    inline const std::string dialog_yes_no    = "DialogYesNo";
    inline const std::string dialog_confirm   = "DialogConfirm";
    inline const std::string dialog           = "Dialog";
    inline const std::string dialog_yes_no_icon_txt = "DialogYesNoIconTxt";
    inline const std::string ice_contacts           = "IceContacts";

} // namespace gui::window::name

namespace app
{
    const inline std::string name_phonebook      = "ApplicationPhonebook";
    constexpr std::uint16_t phonebook_stack_size = 8192;

    class ApplicationPhonebook : public app::Application
    {
      public:
        ApplicationPhonebook(std::string name = name_phonebook, std::string parent = "", bool startBackgound = false);
        ~ApplicationPhonebook() override = default;

        auto DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) -> sys::Message_t override;
        auto InitHandler() -> sys::ReturnCodes override;

        auto SwitchPowerModeHandler(const sys::ServicePowerMode mode) -> sys::ReturnCodes final
        {
            return sys::ReturnCodes::Success;
        }

        void createUserInterface() override;
        void destroyUserInterface() override;

        void onSearchRequest(const std::string &searchFilter);
        bool searchEmpty(const std::string &query);
    };

} // namespace app