Chatterino
IrcServer.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace chatterino {
7 
8 struct IrcServerData;
9 
11 {
12 public:
13  explicit IrcServer(const IrcServerData &data);
14  IrcServer(const IrcServerData &data,
15  const std::vector<std::weak_ptr<Channel>> &restoreChannels);
16  ~IrcServer() override;
17 
18  int id();
19  const QString &user();
20  const QString &nick();
21  const QString &userFriendlyIdentifier();
22 
23  bool hasEcho() const;
27  void sendWhisper(const QString &target, const QString &message);
28 
29  // AbstractIrcServer interface
30 protected:
32  ConnectionType type) override;
33  void initializeConnection(IrcConnection *connection,
34  ConnectionType type) override;
35  std::shared_ptr<Channel> createChannel(const QString &channelName) override;
36  bool hasSeparateWriteConnection() const override;
37 
38  void onReadConnected(IrcConnection *connection) override;
39  void privateMessageReceived(Communi::IrcPrivateMessage *message) override;
40  void readConnectionMessageReceived(Communi::IrcMessage *message) override;
41 
42 private:
43  // pointer so we don't have to circle include Irc2.hpp
44  IrcServerData *data_;
45 
46  bool hasEcho_{false};
47 };
48 
49 } // namespace chatterino
Definition: Irc2.hpp:15
Definition: AbstractIrcServer.hpp:18
ConnectionType
Definition: AbstractIrcServer.hpp:21
void initializeConnection(IrcConnection *connection, ConnectionType type) override
Definition: IrcServer.cpp:127
const QString & nick()
Definition: IrcServer.cpp:58
bool hasEcho() const
Definition: IrcServer.cpp:366
IrcServer(const IrcServerData &data)
Definition: IrcServer.cpp:22
void initializeConnectionSignals(IrcConnection *connection, ConnectionType type) override
Definition: IrcServer.cpp:68
void readConnectionMessageReceived(Communi::IrcMessage *message) override
Definition: IrcServer.cpp:255
Definition: Application.cpp:48
const QString & user()
Definition: IrcServer.cpp:53
void privateMessageReceived(Communi::IrcPrivateMessage *message) override
Definition: IrcServer.cpp:193
const QString & userFriendlyIdentifier()
Definition: IrcServer.cpp:63
void onReadConnected(IrcConnection *connection) override
Definition: IrcServer.cpp:179
Definition: IrcConnection2.hpp:12
std::shared_ptr< Channel > createChannel(const QString &channelName) override
Definition: IrcServer.cpp:169
~IrcServer() override
Definition: IrcServer.cpp:43
Definition: IrcServer.hpp:10
int id()
Definition: IrcServer.cpp:48
bool hasSeparateWriteConnection() const override
Definition: IrcServer.cpp:174
void sendWhisper(const QString &target, const QString &message)
sends a whisper to the target user (PRIVMSG where a user is the target)
Definition: IrcServer.cpp:334