Sunshine latest
Self-hosted game stream host for Moonlight.
entry_handler.h
Go to the documentation of this file.
1
5#pragma once
6
7// standard includes
8#include <atomic>
9#include <string_view>
10
11// local includes
12#include "thread_pool.h"
13#include "thread_safe.h"
14
21void launch_ui();
22
29void launch_ui_with_path(std::string path);
30
34namespace args {
44 int creds(const char *name, int argc, char *argv[]);
45
53 int help(const char *name);
54
61 int version();
62
63#ifdef _WIN32
74#endif
75} // namespace args
76
80namespace lifetime {
81 extern char **argv;
82 extern std::atomic_int desired_exit_code;
83
89 void exit_sunshine(int exit_code, bool async);
90
94 void debug_trap();
95
99 char **get_argv();
100} // namespace lifetime
101
105void log_publisher_data();
106
107#ifdef _WIN32
113
117namespace service_ctrl {
124 bool is_service_running();
125
132 bool start_service();
133
140 bool wait_for_ui_ready();
141} // namespace service_ctrl
142#endif
bool is_gamestream_enabled()
Check if NVIDIA's GameStream software is running.
Definition entry_handler.cpp:110
void log_publisher_data()
Log the publisher metadata provided from CMake.
Definition entry_handler.cpp:103
void launch_ui_with_path(std::string path)
Launch the Web UI at a specific endpoint.
Definition entry_handler.cpp:34
void launch_ui()
Launch the Web UI.
Definition entry_handler.cpp:29
Functions for handling command line arguments.
Definition entry_handler.cpp:39
int creds(const char *name, int argc, char *argv[])
Reset the user credentials.
Definition entry_handler.cpp:40
int version()
Print the version to stdout, then exit.
Definition entry_handler.cpp:55
int restore_nvprefs_undo()
Restore global NVIDIA control panel settings. If Sunshine was improperly terminated,...
Definition entry_handler.cpp:61
int help(const char *name)
Print help to stdout, then exit.
Definition entry_handler.cpp:50
Functions for handling the lifetime of Sunshine.
Definition entry_handler.cpp:71
void debug_trap()
Breaks into the debugger or terminates Sunshine if no debugger is attached.
Definition entry_handler.cpp:90
void exit_sunshine(int exit_code, bool async)
Terminates Sunshine gracefully with the provided exit code.
Definition entry_handler.cpp:75
char ** get_argv()
Get the argv array passed to main().
Definition entry_handler.cpp:98
Namespace for controlling the Sunshine service model on Windows.
Definition entry_handler.cpp:125
bool wait_for_ui_ready()
Wait for the UI to be ready after Sunshine startup.
Definition entry_handler.cpp:236
bool start_service()
Start the service and wait for startup to complete.
Definition entry_handler.cpp:211
bool is_service_running()
Check if the service is running.
Definition entry_handler.cpp:200
Declarations for the thread pool system.
Declarations for thread-safe data structures.