Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> /* std::cout, std::cerr, std::endl */
- #include <string> /* std::string */
- #include <functional>
- #include <map>
- #include <vector>
- #include <cstdlib> /* exit */
- #include <cstdio> /* perror */
- #include <cstring> /* memcpy, memset */
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <netdb.h>
- #include <unistd.h>
- using namespace std;
- class IRC_Client {
- public:
- IRC_Client(int PORT, char *HOST, char *NICK, char *PASSWORD, char *CHANNEL);
- ~IRC_Client();
- void irc_connect();
- void irc_disconnect();
- void irc_send(const char *msg);
- void irc_msg(string msg);
- void addIrcCmd(string cmd, function<void(string)> func);
- void addChatCmd(string cmd, function<void(map<string, string>, string)> func);
- map<string, string> irc_getUserData(string str);
- private:
- const unsigned int MAX_LINE = 1024;
- int PORT;
- char *HOST;
- char *NICK;
- char *PASSWORD;
- char *CHANNEL;
- int sockfd;
- map<string, vector<function<void(string)>>> IRC_funcs;
- map<string, vector<function<void(map<string, string>, string)>>> chat_funcs;
- void irc_pong(const string &buffer);
- void irc_reciveLoop();
- void irc_parse(string buffer);
- void irc_identify();
- void irc_functions(string buffer);
- void chat_functions(string buffer);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement