X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=input.h;h=79cfc54183dfb9bdfee82e25a3448ccdc7ae7bd1;hp=3e8651057e95bf39cb23d4d4e654bb12730448fb;hb=0d72f384a1de672824298262ba5c427ec0aee2d6;hpb=239a9eab1a2468b401183745a24b2fbd590a6998 diff --git a/input.h b/input.h index 3e86510..79cfc54 100644 --- a/input.h +++ b/input.h @@ -5,16 +5,23 @@ #include "thread.h" +class Input; class InputProto; // Extremely rudimentary URL parsing. bool parse_url(const std::string &url, std::string *protocol, std::string *host, std::string *port, std::string *path); +// Figure out the right type of input based on the URL, and create a new Input of the right type. +// Will return NULL if unknown. +Input *create_input(const std::string &stream_id, const std::string &url); +Input *create_input(const InputProto &serialized); + class Input : public Thread { public: virtual ~Input(); virtual InputProto serialize() const = 0; virtual std::string get_url() const = 0; + virtual void close_socket() = 0; }; #endif // !defined(_INPUT_H)