Fcitx
objectvtable_p_sdbus.h
1 /*
2  * SPDX-FileCopyrightText: 2016-2016 CSSlayer <wengxt@gmail.com>
3  *
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  *
6  */
7 #ifndef _FCITX_UTILS_DBUS_OBJECTVTABLE_P_SDBUS_H_
8 #define _FCITX_UTILS_DBUS_OBJECTVTABLE_P_SDBUS_H_
9 
10 #include <map>
11 #include <memory>
12 #include <string>
13 #include "../objectvtable.h"
14 #include "sd-bus-wrap.h"
15 
16 namespace fcitx::dbus {
17 class SDVTableSlot;
18 
19 class ObjectVTableBasePrivate {
20 public:
21  ~ObjectVTableBasePrivate();
22 
23  const sd_bus_vtable *toSDBusVTable(ObjectVTableBase *q);
24 
25  std::map<std::string, ObjectVTableMethod *> methods_;
26  std::map<std::string, ObjectVTableProperty *> properties_;
27  std::map<std::string, ObjectVTableSignal *> sigs_;
28  std::unique_ptr<SDVTableSlot> slot_;
29  Message *msg_ = nullptr;
30 };
31 
32 } // namespace fcitx::dbus
33 
34 #endif // _FCITX_UTILS_DBUS_OBJECTVTABLE_SDBUS_P_H_