mumlib.hpp 960 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "mumlib/Callback.hpp"
  3. #include <boost/asio.hpp>
  4. #include <boost/noncopyable.hpp>
  5. #include <string>
  6. #include <mumlib/enums.hpp>
  7. namespace mumlib {
  8. using namespace std;
  9. using namespace boost::asio;
  10. class MumlibException : public runtime_error {
  11. public:
  12. MumlibException(string message) : runtime_error(message) { }
  13. };
  14. struct _Mumlib_Private;
  15. class Mumlib : boost::noncopyable {
  16. public:
  17. Mumlib(Callback &callback);
  18. Mumlib(Callback &callback, io_service &ioService);
  19. virtual ~Mumlib();
  20. void connect(string host, int port, string user, string password);
  21. void disconnect();
  22. void run();
  23. ConnectionState getConnectionState();
  24. void sendAudioData(int16_t *pcmData, int pcmLength);
  25. void sendTextMessage(std::string message);
  26. void joinChannel(int channelId);
  27. private:
  28. _Mumlib_Private *impl;
  29. };
  30. }