Files
obs-streamer-tools-plugin/core/include/stplugin/core.h
T

42 lines
1.4 KiB
C++
Raw Normal View History

/*
streamer-tools OBS Camera Plugin - core library
Copyright (C) 2026 CyberCoveLLC <jknapp85@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
*/
#pragma once
#include <string>
// The small shared pieces of the core library: its version string, and the
// streamer-tools connection settings that both the API client and the OBS
// adapter pass around. Everything substantial lives in its own header --
// api_client.h, session.h, http.h, json.h -- and none of it depends on OBS,
// so the whole library builds and tests headlessly on all three platforms.
namespace stplugin {
// The core library's version string, injected by CMake from the top-level
// project() version, so what OBS logs on load is the actual build.
const char *core_version();
// What an operator types into the source's properties, and what ApiClient
// needs to reach the two read-key-scoped endpoints in
// apps/server/src/obs/plugin.routes.ts (streamer-tools repo). The read key is
// a credential: it is masked in the properties UI and never logged (see
// ApiClient::redactedUrl).
struct ConnectionConfig {
std::string server_url;
std::string room_slug;
std::string read_key;
bool is_valid() const;
};
} // namespace stplugin