mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-19 06:09:59 +01:00
Cleanup source tree
Move all C++ source files in the src subfolder. Adapted the cmake process accordingly and cleanup.
This commit is contained in:
76
src/NetworkSource.h
Normal file
76
src/NetworkSource.h
Normal file
@@ -0,0 +1,76 @@
|
||||
#ifndef NETWORKSOURCE_H
|
||||
#define NETWORKSOURCE_H
|
||||
|
||||
#include "NetworkToolkit.h"
|
||||
#include "Connection.h"
|
||||
#include "StreamSource.h"
|
||||
|
||||
|
||||
class NetworkStream : public Stream
|
||||
{
|
||||
public:
|
||||
|
||||
NetworkStream();
|
||||
|
||||
void connect(const std::string &nameconnection);
|
||||
bool connected() const;
|
||||
void disconnect();
|
||||
|
||||
void update() override;
|
||||
|
||||
glm::ivec2 resolution() const;
|
||||
inline NetworkToolkit::StreamProtocol protocol() const { return config_.protocol; }
|
||||
std::string clientAddress() const;
|
||||
std::string serverAddress() const;
|
||||
|
||||
protected:
|
||||
class ResponseListener : public osc::OscPacketListener
|
||||
{
|
||||
protected:
|
||||
class NetworkStream *parent_;
|
||||
virtual void ProcessMessage( const osc::ReceivedMessage& m,
|
||||
const IpEndpointName& remoteEndpoint );
|
||||
public:
|
||||
inline void setParent(NetworkStream *s) { parent_ = s; }
|
||||
ResponseListener() : parent_(nullptr) {}
|
||||
};
|
||||
|
||||
private:
|
||||
// connection information
|
||||
ConnectionInfo streamer_;
|
||||
ResponseListener listener_;
|
||||
UdpListeningReceiveSocket *receiver_;
|
||||
std::atomic<bool> received_config_;
|
||||
std::atomic<bool> connected_;
|
||||
|
||||
NetworkToolkit::StreamConfig config_;
|
||||
};
|
||||
|
||||
|
||||
class NetworkSource : public StreamSource
|
||||
{
|
||||
std::string connection_name_;
|
||||
|
||||
public:
|
||||
NetworkSource(uint64_t id = 0);
|
||||
~NetworkSource();
|
||||
|
||||
// Source interface
|
||||
void accept (Visitor& v) override;
|
||||
|
||||
// StreamSource interface
|
||||
Stream *stream() const override { return stream_; }
|
||||
NetworkStream *networkStream() const;
|
||||
|
||||
// specific interface
|
||||
void setConnection(const std::string &nameconnection);
|
||||
std::string connection() const;
|
||||
|
||||
glm::ivec2 icon() const override;
|
||||
std::string info() const override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif // NETWORKSOURCE_H
|
||||
Reference in New Issue
Block a user