10 #include <boost/optional.hpp> 11 #include <pajlada/signals/signal.hpp> 30 class Channel :
public std::enable_shared_from_this<Channel>
50 pajlada::Signals::Signal<const QString &, const QString &, bool &>
52 pajlada::Signals::Signal<
const QString &,
const QString &,
const QString &,
56 pajlada::Signals::Signal<MessagePtr &, boost::optional<MessageFlags>>
68 const QString &getName()
const;
69 virtual const QString &getDisplayName()
const;
70 virtual const QString &getLocalizedName()
const;
71 bool isTwitchChannel()
const;
72 virtual bool isEmpty()
const;
81 boost::optional<MessageFlags> overridingFlags = boost::none);
82 void addMessagesAtStart(
const std::vector<MessagePtr> &messages_);
85 void fillInMissingMessages(
const std::vector<MessagePtr> &messages);
88 void disableAllMessages();
90 void replaceMessage(
size_t index,
MessagePtr replacement);
91 void deleteMessage(QString messageID);
95 bool hasMessages()
const;
98 virtual bool canSendMessage()
const;
99 virtual bool isWritable()
const;
100 virtual void sendMessage(
const QString &message);
101 virtual bool isMod()
const;
102 virtual bool isBroadcaster()
const;
103 virtual bool hasModRights()
const;
104 virtual bool hasHighRateLimit()
const;
105 virtual bool isLive()
const;
106 virtual bool shouldIgnoreHighlights()
const;
107 virtual bool canReconnect()
const;
108 virtual void reconnect();
110 static std::shared_ptr<Channel> getEmpty();
116 virtual void onConnected();
122 QTimer clearCompletionModelTimer_;
132 pajlada::Signals::NoArgSignal changed;
143 pajlada::Signals::NoArgSignal &getChannelChanged();
147 std::shared_ptr<Data> data_;
pajlada::Signals::Signal< size_t, MessagePtr & > messageReplaced
Definition: Channel.hpp:59
CompletionModel completionModel
Definition: Channel.hpp:112
TimeoutStackStyle
Definition: Channel.hpp:22
pajlada::Signals::Signal< const std::vector< MessagePtr > & > filledInMessages
Invoked when some number of messages were filled in using time received.
Definition: Channel.hpp:61
Definition: Application.cpp:48
pajlada::Signals::NoArgSignal displayNameChanged
Definition: Channel.hpp:63
pajlada::Signals::Signal< MessagePtr &, boost::optional< MessageFlags > > messageAppended
Definition: Channel.hpp:57
pajlada::Signals::NoArgSignal connected
Invoked when AbstractIrcServer::onReadConnected occurs.
Definition: Channel.hpp:65
pajlada::Signals::Signal< std::vector< MessagePtr > & > messagesAddedAtStart
Definition: Channel.hpp:58
Type
Definition: Channel.hpp:33
Definition: FlagsEnum.hpp:9
MessageFlag
Definition: Message.hpp:18
Definition: Channel.hpp:30
int64_t FlagsEnum< MessageFlag > MessageFlags
Definition: Channel.hpp:20
pajlada::Signals::Signal< MessagePtr & > messageRemovedFromStart
Definition: Channel.hpp:55
pajlada::Signals::Signal< const QString &, const QString &, bool & > sendMessageSignal
Definition: Channel.hpp:51
QDate lastDate_
Definition: Channel.hpp:113
pajlada::Signals::Signal< const QString &, const QString &, const QString &, bool & > sendReplySignal
Definition: Channel.hpp:54
pajlada::Signals::NoArgSignal destroyed
Definition: Channel.hpp:62
std::shared_ptr< const Message > MessagePtr
Definition: Channel.hpp:18
Definition: CompletionModel.hpp:13
QString name
Definition: Credentials.cpp:94
Definition: Channel.hpp:127
std::shared_ptr< Channel > ChannelPtr
Definition: Channel.hpp:125