X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=shell%2Fserver.h;h=99e5b096f2ec6a6547432dd46d0792c4776f7003;hb=19a5caa33bc347ce2cdba576ac90a9359c9e5087;hp=987043c4a93b5ac1f09437b3ad37667b2b3d1ab5;hpb=ad66cff9a6a3d35e4765c9ab4289ed0976d52c7b;p=casparcg diff --git a/shell/server.h b/shell/server.h index 987043c4a..99e5b096f 100644 --- a/shell/server.h +++ b/shell/server.h @@ -22,6 +22,7 @@ #pragma once #include +#include #include @@ -34,19 +35,23 @@ namespace caspar { namespace core { class video_channel; class thumbnail_generator; + struct media_info_repository; + class system_info_provider_repository; + class cg_producer_registry; } -class server sealed : public monitor::observable - , boost::noncopyable +class server final : public boost::noncopyable { public: - server(); + explicit server(std::promise& shutdown_server_now); + void start(); const std::vector> channels() const; std::shared_ptr get_thumbnail_generator() const; - // monitor::observable + spl::shared_ptr get_media_info_repo() const; + spl::shared_ptr get_system_info_provider_repo() const; + spl::shared_ptr get_cg_registry() const; - void subscribe(const monitor::observable::observer_ptr& o) override; - void unsubscribe(const monitor::observable::observer_ptr& o) override; + core::monitor::subject& monitor_output(); private: struct impl; spl::shared_ptr impl_;