mumlib.hpp 909 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. ~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. private:
  27. _Mumlib_Private *impl;
  28. };
  29. }