X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=input.h;h=76e1b662bbc643db48ecd094dbc2386934bd82e2;hp=3e8651057e95bf39cb23d4d4e654bb12730448fb;hb=9abb89bcf7940e2ada9d708f86a218a56334f68d;hpb=239a9eab1a2468b401183745a24b2fbd590a6998 diff --git a/input.h b/input.h index 3e86510..76e1b66 100644 --- a/input.h +++ b/input.h @@ -5,16 +5,24 @@ #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 &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; + virtual void add_destination(int stream_index) = 0; }; #endif // !defined(_INPUT_H)