#ifndef MUMSI_MUMBLECOMMUNICATOR_HPP #define MUMSI_MUMBLECOMMUNICATOR_HPP #include "ISamplesBuffer.hpp" #include #include #include #include #include #include namespace mumble { class Exception : public std::runtime_error { public: Exception(const char *message) : std::runtime_error(message) { } }; class MumlibCallback; class MumbleCommunicator { public: MumbleCommunicator( boost::asio::io_service &ioService, ISamplesBuffer &samplesBuffer, std::string user, std::string password, std::string host, int port = 0); ~MumbleCommunicator(); // void senderThreadFunction(); //void receiveAudioFrameCallback(uint8_t *audio_data, uint32_t audio_data_size); public: boost::asio::io_service &ioService; log4cpp::Category &logger; ISamplesBuffer &samplesBuffer; std::shared_ptr mum; std::unique_ptr senderThread; SndfileHandle fileHandle; std::unique_ptr callback; bool quit; friend class MumlibCallback; }; } #endif //MUMSI_MUMBLECOMMUNICATOR_HPP