Advertisement
Panakotta00

IRC_Client.h

Sep 4th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include <iostream> /* std::cout, std::cerr, std::endl */
  2. #include <string> /* std::string */
  3. #include <functional>
  4. #include <map>
  5. #include <vector>
  6. #include <cstdlib> /* exit */
  7. #include <cstdio> /* perror */
  8. #include <cstring> /* memcpy, memset */
  9.  
  10. #include <sys/socket.h>
  11. #include <sys/types.h>
  12. #include <netinet/in.h>
  13. #include <arpa/inet.h>
  14. #include <netdb.h>
  15. #include <unistd.h>
  16.  
  17. using namespace std;
  18.  
  19. class IRC_Client {
  20. public:
  21.     IRC_Client(int PORT, char *HOST, char *NICK, char *PASSWORD, char *CHANNEL);
  22.     ~IRC_Client();
  23.     void irc_connect();
  24.     void irc_disconnect();
  25.     void irc_send(const char *msg);
  26.     void irc_msg(string msg);
  27.     void addIrcCmd(string cmd, function<void(string)> func);
  28.     void addChatCmd(string cmd, function<void(map<string, string>, string)> func);
  29.     map<string, string> irc_getUserData(string str);
  30. private:
  31.     const unsigned int MAX_LINE = 1024;
  32.     int PORT;
  33.     char *HOST;
  34.     char *NICK;
  35.     char *PASSWORD;
  36.     char *CHANNEL;
  37.     int sockfd;
  38.     map<string, vector<function<void(string)>>> IRC_funcs;
  39.     map<string, vector<function<void(map<string, string>, string)>>> chat_funcs;
  40.  
  41.     void irc_pong(const string &buffer);
  42.     void irc_reciveLoop();
  43.     void irc_parse(string buffer);
  44.     void irc_identify();
  45.     void irc_functions(string buffer);
  46.     void chat_functions(string buffer);
  47. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement