]> git.sesse.net Git - casparcg/blobdiff - shell/server.h
* Merged html producer and updated to latest CEF version (does not have satisfactory...
[casparcg] / shell / server.h
index a658abc306246e9c3a686dd57cb4bdcb200e5c22..99e5b096f2ec6a6547432dd46d0792c4776f7003 100644 (file)
 #pragma once
 
 #include <common/memory.h>
+#include <common/future_fwd.h>
 
 #include <core/monitor/monitor.h>
 
 #include <boost/noncopyable.hpp>
-#include <boost/thread/future.hpp>
 
 #include <vector>
 
@@ -35,14 +35,21 @@ 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 /* final */ : public boost::noncopyable
+class server final : public boost::noncopyable
 {
 public:
-       explicit server(boost::promise<bool>& shutdown_server_now);
+       explicit server(std::promise<bool>& shutdown_server_now);
+       void start();
        const std::vector<spl::shared_ptr<core::video_channel>> channels() const;
        std::shared_ptr<core::thumbnail_generator> get_thumbnail_generator() const;
+       spl::shared_ptr<core::media_info_repository> get_media_info_repo() const;
+       spl::shared_ptr<core::system_info_provider_repository> get_system_info_provider_repo() const;
+       spl::shared_ptr<core::cg_producer_registry> get_cg_registry() const;
 
        core::monitor::subject& monitor_output();
 private: