#pragma once #include "IRCMessageQueue.h" #include "IRCApplication.h" class IRCProtocol { public: IRCProtocol(IRCApplication * app, const std::string &callsign, const std::string &password, const std::string &channel, const std::string &versionInfo); ~IRCProtocol(); void setNetworkReady(bool state); bool processQueues(IRCMessageQueue *recvQ, IRCMessageQueue *sendQ); private: void chooseNewNick(); std::vector nicks; std::string password; std::string channel; std::string name; std::string currentNick; std::string versionInfo; int state; int timer; int pingTimer; std::string debugChannel; IRCApplication *app; };