Chatterino
NativeMessaging.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QString>
4 #include <QThread>
5 #include <boost/optional.hpp>
6 #include <common/Atomic.hpp>
7 
8 namespace chatterino {
9 
10 class Application;
11 class Paths;
12 
13 void registerNmHost(Paths &paths);
14 std::string &getNmQueueName(Paths &paths);
15 
16 Atomic<boost::optional<QString>> &nmIpcError();
17 
19 {
20 public:
21  void sendMessage(const QByteArray &array);
22  void writeToCout(const QByteArray &array);
23 };
24 
26 {
27 public:
28  void start();
29 
30 private:
31  class ReceiverThread : public QThread
32  {
33  public:
34  void run() override;
35 
36  private:
37  void handleMessage(const QJsonObject &root);
38  };
39 
40  ReceiverThread thread;
41 };
42 
43 } // namespace chatterino
void sendMessage(const QByteArray &array)
Definition: NativeMessaging.cpp:115
void writeToCout(const QByteArray &array)
Definition: NativeMessaging.cpp:132
void registerNmHost(Paths &paths)
Definition: NativeMessaging.cpp:40
Definition: Application.cpp:48
Definition: NativeMessaging.hpp:18
Definition: NativeMessaging.hpp:25
Atomic< boost::optional< QString > > & nmIpcError()
Definition: NativeMessaging.cpp:293
std::string & getNmQueueName(Paths &paths)
Definition: NativeMessaging.cpp:106