]> git.sesse.net Git - casparcg/blobdiff - shell/generate_docs.cpp
Removed a parameter from the "data retrieve" documentation. [data:string] is never...
[casparcg] / shell / generate_docs.cpp
index 57542cf0142770757f902248e62b78e0f4b20dc6..1711c758667590f60b9ede68a40c0af153e9c54e 100644 (file)
@@ -28,6 +28,7 @@
 #include <core/help/help_repository.h>
 #include <core/help/help_sink.h>
 #include <core/help/util.h>
+#include <core/producer/text/text_producer.h>
 
 #include <protocol/amcp/amcp_command_repository.h>
 #include <protocol/amcp/AMCPCommandsImpl.h>
@@ -68,6 +69,12 @@ public:
                return shared_from_this();
        };
 
+       spl::shared_ptr<paragraph_builder> strong(std::wstring text) override
+       {
+               out_ << L"'''" << std::move(text) << L"'''";
+               return shared_from_this();
+       };
+
        spl::shared_ptr<paragraph_builder> see(std::wstring item) override
        {
                out_ << L"[[#" << item << L"|" << item << L"]]";
@@ -92,7 +99,7 @@ public:
 
        ~mediawiki_definition_list_builder()
        {
-               out_ << L"\n" << std::endl;
+               out_ << std::endl;
        }
 
        spl::shared_ptr<definition_list_builder> item(std::wstring term, std::wstring description) override
@@ -170,16 +177,42 @@ void generate_amcp_commands_help(const core::help_repository& help_repo)
        file.flush();
 }
 
+void generate_producers_help(const core::help_repository& help_repo)
+{
+       boost::filesystem::wofstream file(L"producers_help.wiki");
+       mediawiki_help_sink sink(file);
+
+       sink.start_section(L"Producers (Input Modules)");
+       help_repo.help({ L"producer" }, sink);
+
+       file.flush();
+}
+
+void generate_consumers_help(const core::help_repository& help_repo)
+{
+       boost::filesystem::wofstream file(L"consumers_help.wiki");
+       mediawiki_help_sink sink(file);
+
+       sink.start_section(L"Consumers (Output Modules)");
+       help_repo.help({ L"consumer" }, sink);
+
+       file.flush();
+}
+
 int main(int argc, char** argv)
 {
-       //env::configure(L"casparcg.config");
-       //log::set_log_level(L"info");
+       if (intercept_command_line_args(argc, argv))
+       {
+               return 0;
+       }
 
+       env::configure(L"casparcg.config");
        spl::shared_ptr<core::system_info_provider_repository> system_info_provider_repo;
        spl::shared_ptr<core::cg_producer_registry> cg_registry;
        auto media_info_repo = core::create_in_memory_media_info_repository();
        spl::shared_ptr<core::help_repository> help_repo;
-       spl::shared_ptr<core::frame_producer_registry> producer_registry;
+       auto producer_registry = spl::make_shared<core::frame_producer_registry>(help_repo);
+       auto consumer_registry = spl::make_shared<core::frame_consumer_registry>(help_repo);
        std::promise<bool> shutdown_server_now;
        protocol::amcp::amcp_command_repository repo(
                        { },
@@ -189,14 +222,19 @@ int main(int argc, char** argv)
                        cg_registry,
                        help_repo,
                        producer_registry,
+                       consumer_registry,
+                       nullptr,
                        shutdown_server_now);
 
        protocol::amcp::register_commands(repo);
 
-       core::module_dependencies dependencies(system_info_provider_repo, cg_registry, media_info_repo, producer_registry);
+       core::module_dependencies dependencies(system_info_provider_repo, cg_registry, media_info_repo, producer_registry, consumer_registry);
        initialize_modules(dependencies);
+       core::text::init(dependencies);
 
        generate_amcp_commands_help(*help_repo);
+       generate_producers_help(*help_repo);
+       generate_consumers_help(*help_repo);
 
        uninitialize_modules();