Declarations for the startup and shutdown of the apps started by a streaming Session.
More...
#include <optional>
#include <unordered_map>
#include <boost/process/v1.hpp>
#include "config.h"
#include "platform/common.h"
#include "rtsp.h"
#include "utility.h"
Go to the source code of this file.
|
|
#define | __kernel_entry |
| | Macro for kernel entry.
|
| |
|
#define | DEFAULT_APP_IMAGE_PATH SUNSHINE_ASSETS_DIR "/box.png" |
| | Macro for DEFAULT APP IMAGE PATH.
|
| |
|
|
typedef config::prep_cmd_t | proc::cmd_t |
| | Parsed command arguments used when launching a child process.
|
| |
|
using | proc::file_t = util::safe_ptr_v2<FILE, int, fclose> |
| | Boost.Process pipe stream used for child-process I/O.
|
| |
|
| std::tuple< std::string, std::string > | proc::calculate_app_id (const std::string &app_name, std::string app_image_path, int index) |
| | Calculate a stable id based on name and image data.
|
| |
| bool | proc::check_valid_png (const std::filesystem::path &path) |
| | Validates a path whether it is a valid PNG.
|
| |
| std::unique_ptr< platf::deinit_t > | proc::init () |
| | Initialize proc functions.
|
| |
| std::optional< proc::proc_t > | proc::parse (const std::string &file_name) |
| | Parse serialized text into the corresponding runtime representation.
|
| |
| void | proc::refresh (const std::string &file_name) |
| | Refresh cached platform state from the operating system.
|
| |
| void | proc::terminate_process_group (boost::process::v1::child &proc, boost::process::v1::group &group, std::chrono::seconds exit_timeout) |
| | Terminates all child processes in a process group.
|
| |
| std::string | proc::validate_app_image_path (std::string app_image_path) |
| | Validate app image path.
|
| |
Declarations for the startup and shutdown of the apps started by a streaming Session.
◆ calculate_app_id()
| std::tuple< std::string, std::string > proc::calculate_app_id |
( |
const std::string & | app_name, |
|
|
std::string | app_image_path, |
|
|
int | index ) |
Calculate a stable id based on name and image data.
- Returns
- Tuple of id calculated without index (for use if no collision) and one with.
- Parameters
-
| app_name | App name. |
| app_image_path | App image path. |
| index | Zero-based index of the item being addressed. |
◆ check_valid_png()
| bool proc::check_valid_png |
( |
const std::filesystem::path & | path | ) |
|
Validates a path whether it is a valid PNG.
- Parameters
-
| path | The path to the PNG file. |
- Returns
- true if the file has a valid PNG signature, false otherwise.
◆ init()
Initialize proc functions.
- Returns
- Unique pointer to
deinit_t to manage cleanup
◆ parse()
| std::optional< proc::proc_t > proc::parse |
( |
const std::string & | file_name | ) |
|
Parse serialized text into the corresponding runtime representation.
- Parameters
-
- Returns
- Parsed value or parse status.
◆ refresh()
| void proc::refresh |
( |
const std::string & | file_name | ) |
|
Refresh cached platform state from the operating system.
- Parameters
-
◆ terminate_process_group()
| void proc::terminate_process_group |
( |
boost::process::v1::child & | proc, |
|
|
boost::process::v1::group & | group, |
|
|
std::chrono::seconds | exit_timeout ) |
Terminates all child processes in a process group.
- Parameters
-
| proc | The child process itself. |
| group | The group of all children in the process tree. |
| exit_timeout | The timeout to wait for the process group to gracefully exit. |
◆ validate_app_image_path()
| std::string proc::validate_app_image_path |
( |
std::string | app_image_path | ) |
|
Validate app image path.
- Parameters
-
| app_image_path | Candidate image path from the application configuration. |
- Returns
- Existing PNG path, or the default application image when validation fails.