Sunshine latest
Self-hosted game stream host for Moonlight.
main.cpp File Reference

Definitions for the main entry point for Sunshine. More...

#include <codecvt>
#include <csignal>
#include <fstream>
#include <iostream>
#include "confighttp.h"
#include "display_device.h"
#include "entry_handler.h"
#include "globals.h"
#include "httpcommon.h"
#include "logging.h"
#include "main.h"
#include "nvhttp.h"
#include "process.h"
#include "system_tray.h"
#include "upnp.h"
#include "version.h"
#include "video.h"
#include "rswrapper.h"
Include dependency graph for main.cpp:

Functions

WINAPI BOOL ConsoleCtrlHandler (DWORD type)
 
int main (int argc, char *argv[])
 Main application entry point.
 
template<class FN >
void on_signal (int sig, FN &&fn)
 
void on_signal_forwarder (int sig)
 
LRESULT CALLBACK SessionMonitorWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 

Variables

std::map< std::string_view, std::function< int(const char *name, int argc, char **argv)> cmd_to_func )
 
std::map< int, std::function< void()> > signal_handlers
 

Detailed Description

Definitions for the main entry point for Sunshine.

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Main application entry point.

Parameters
argcThe number of arguments.
argvThe arguments.

Examples

main(1, const char* args[] = {"sunshine", nullptr});
int main(int argc, char *argv[])
Main application entry point.
Definition main.cpp:92
Functions for handling command line arguments.
Definition entry_handler.cpp:39

Variable Documentation

◆ cmd_to_func

std::map<std::string_view, std::function<int(const char *name, int argc, char **argv)> cmd_to_func)
Initial value:
{
{"creds"sv, [](const char *name, int argc, char **argv) {
return args::creds(name, argc, argv);
}},
{"help"sv, [](const char *name, int argc, char **argv) {
return args::help(name);
}},
{"version"sv, [](const char *name, int argc, char **argv) {
return args::version();
}},
{"restore-nvprefs-undo"sv, [](const char *name, int argc, char **argv) {
}},
}
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