snapcast/client/controller.h
(no author) 00fac3eccb controller
git-svn-id: svn://elaine/murooma/trunk@242 d8a302eb-03bc-478d-80e4-98257eca68ef
2014-09-09 20:31:03 +00:00

32 lines
611 B
C++

#ifndef CONTROLLER_H
#define CONTROLLER_H
#include <thread>
#include <atomic>
#include "common/message.h"
#include "decoder.h"
#include "serverConnection.h"
class Controller : public MessageReceiver
{
public:
Controller();
void start(std::string& _ip, size_t _port, int _bufferMs);
void stop();
virtual void onMessageReceived(tcp::socket* socket, const BaseMessage& baseMessage, char* buffer);
private:
void worker();
std::atomic<bool> active_;
std::thread* controllerThread;
ServerConnection* connection;
SampleFormat* sampleFormat;
Decoder* decoder;
Stream* stream;
int bufferMs;
};
#endif