main#

Include dependency graph for main.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "24" [label="thread_safe.h" tooltip="thread_safe.h"]
    "26" [label="atomic" tooltip="atomic"]
    "9" [label="functional" tooltip="functional"]
    "2" [label="filesystem" tooltip="filesystem"]
    "17" [label="utility.h" tooltip="utility.h"]
    "22" [label="variant" tooltip="variant"]
    "21" [label="string" tooltip="string"]
    "6" [label="task_pool.h" tooltip="task_pool.h"]
    "27" [label="map" tooltip="map"]
    "19" [label="condition_variable" tooltip="condition_variable"]
    "3" [label="string_view" tooltip="string_view"]
    "10" [label="future" tooltip="future"]
    "12" [label="optional" tooltip="optional"]
    "15" [label="vector" tooltip="vector"]
    "14" [label="utility" tooltip="utility"]
    "25" [label="array" tooltip="array"]
    "8" [label="deque" tooltip="deque"]
    "11" [label="mutex" tooltip="mutex"]
    "7" [label="chrono" tooltip="chrono"]
    "1" [label="src/main.h" tooltip="src/main.h" fillcolor="#BFBFBF"]
    "23" [label="thread" tooltip="thread"]
    "13" [label="type_traits" tooltip="type_traits"]
    "16" [label="move_by_copy.h" tooltip="move_by_copy.h"]
    "5" [label="thread_pool.h" tooltip="thread_pool.h"]
    "4" [label="boost/log/common.hpp" tooltip="boost/log/common.hpp"]
    "18" [label="algorithm" tooltip="algorithm"]
    "20" [label="memory" tooltip="memory"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "26" [dir=forward tooltip="include"]
    "24" -> "19" [dir=forward tooltip="include"]
    "24" -> "9" [dir=forward tooltip="include"]
    "24" -> "27" [dir=forward tooltip="include"]
    "24" -> "11" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "17" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "17" -> "11" [dir=forward tooltip="include"]
    "17" -> "12" [dir=forward tooltip="include"]
    "17" -> "21" [dir=forward tooltip="include"]
    "17" -> "3" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "22" [dir=forward tooltip="include"]
    "17" -> "15" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "6" -> "9" [dir=forward tooltip="include"]
    "6" -> "10" [dir=forward tooltip="include"]
    "6" -> "11" [dir=forward tooltip="include"]
    "6" -> "12" [dir=forward tooltip="include"]
    "6" -> "13" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "16" [dir=forward tooltip="include"]
    "6" -> "17" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "16" -> "14" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "23" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include main.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="src/confighttp.cpp" tooltip="src/confighttp.cpp"]
    "2" [label="src/audio.cpp" tooltip="src/audio.cpp"]
    "30" [label="src/platform/linux/input.cpp" tooltip="src/platform/linux/input.cpp"]
    "10" [label="src/input.h" tooltip="src/input.h"]
    "33" [label="src/platform/linux/x11grab.h" tooltip="src/platform/linux/x11grab.h"]
    "9" [label="src/platform/common.h" tooltip="src/platform/common.h"]
    "40" [label="src/platform/windows/audio.cpp" tooltip="src/platform/windows/audio.cpp"]
    "32" [label="src/platform/linux/vaapi.h" tooltip="src/platform/linux/vaapi.h"]
    "24" [label="src/upnp.cpp" tooltip="src/upnp.cpp"]
    "44" [label="src/platform/windows/misc.cpp" tooltip="src/platform/windows/misc.cpp"]
    "11" [label="src/stream.cpp" tooltip="src/stream.cpp"]
    "39" [label="src/platform/macos/publish.cpp" tooltip="src/platform/macos/publish.cpp"]
    "13" [label="src/platform/linux/graphics.cpp" tooltip="src/platform/linux/graphics.cpp"]
    "22" [label="src/platform/windows/display_vram.cpp" tooltip="src/platform/windows/display_vram.cpp"]
    "21" [label="src/platform/windows/display_base.cpp" tooltip="src/platform/windows/display_base.cpp"]
    "43" [label="src/platform/windows/input.cpp" tooltip="src/platform/windows/input.cpp"]
    "38" [label="src/platform/macos/nv12_zero_device.h" tooltip="src/platform/macos/nv12_zero_device.h"]
    "18" [label="src/platform/linux/x11grab.cpp" tooltip="src/platform/linux/x11grab.cpp"]
    "5" [label="src/cbs.cpp" tooltip="src/cbs.cpp"]
    "29" [label="src/platform/linux/wayland.h" tooltip="src/platform/linux/wayland.h"]
    "20" [label="src/platform/macos/nv12_zero_device.cpp" tooltip="src/platform/macos/nv12_zero_device.cpp"]
    "45" [label="src/platform/windows/publish.cpp" tooltip="src/platform/windows/publish.cpp"]
    "15" [label="src/platform/linux/kmsgrab.cpp" tooltip="src/platform/linux/kmsgrab.cpp"]
    "37" [label="src/platform/macos/misc.mm" tooltip="src/platform/macos/misc.mm"]
    "28" [label="src/platform/linux/wayland.cpp" tooltip="src/platform/linux/wayland.cpp"]
    "46" [label="src/process.h" tooltip="src/process.h"]
    "8" [label="src/main.cpp" tooltip="src/main.cpp"]
    "47" [label="src/process.cpp" tooltip="src/process.cpp"]
    "35" [label="src/platform/macos/input.cpp" tooltip="src/platform/macos/input.cpp"]
    "3" [label="src/config.cpp" tooltip="src/config.cpp"]
    "36" [label="src/platform/macos/microphone.mm" tooltip="src/platform/macos/microphone.mm"]
    "16" [label="src/platform/linux/vaapi.cpp" tooltip="src/platform/linux/vaapi.cpp"]
    "19" [label="src/platform/macos/display.mm" tooltip="src/platform/macos/display.mm"]
    "6" [label="src/httpcommon.cpp" tooltip="src/httpcommon.cpp"]
    "34" [label="src/platform/macos/av_img_t.h" tooltip="src/platform/macos/av_img_t.h"]
    "25" [label="src/video.cpp" tooltip="src/video.cpp"]
    "14" [label="src/platform/linux/cuda.cpp" tooltip="src/platform/linux/cuda.cpp"]
    "27" [label="src/platform/linux/graphics.h" tooltip="src/platform/linux/graphics.h"]
    "26" [label="src/platform/linux/audio.cpp" tooltip="src/platform/linux/audio.cpp"]
    "1" [label="src/main.h" tooltip="src/main.h" fillcolor="#BFBFBF"]
    "48" [label="src/upnp.h" tooltip="src/upnp.h"]
    "23" [label="src/stream.h" tooltip="src/stream.h"]
    "31" [label="src/platform/linux/publish.cpp" tooltip="src/platform/linux/publish.cpp"]
    "17" [label="src/platform/linux/wlgrab.cpp" tooltip="src/platform/linux/wlgrab.cpp"]
    "12" [label="src/video.h" tooltip="src/video.h"]
    "42" [label="src/platform/windows/display_ram.cpp" tooltip="src/platform/windows/display_ram.cpp"]
    "41" [label="src/platform/windows/display.h" tooltip="src/platform/windows/display.h"]
    "7" [label="src/input.cpp" tooltip="src/input.cpp"]
    "10" -> "7" [dir=back tooltip="include"]
    "10" -> "11" [dir=back tooltip="include"]
    "10" -> "12" [dir=back tooltip="include"]
    "10" -> "25" [dir=back tooltip="include"]
    "33" -> "15" [dir=back tooltip="include"]
    "33" -> "18" [dir=back tooltip="include"]
    "9" -> "2" [dir=back tooltip="include"]
    "9" -> "3" [dir=back tooltip="include"]
    "9" -> "4" [dir=back tooltip="include"]
    "9" -> "6" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "9" -> "26" [dir=back tooltip="include"]
    "9" -> "27" [dir=back tooltip="include"]
    "9" -> "15" [dir=back tooltip="include"]
    "9" -> "30" [dir=back tooltip="include"]
    "9" -> "31" [dir=back tooltip="include"]
    "9" -> "16" [dir=back tooltip="include"]
    "9" -> "32" [dir=back tooltip="include"]
    "9" -> "28" [dir=back tooltip="include"]
    "9" -> "17" [dir=back tooltip="include"]
    "9" -> "33" [dir=back tooltip="include"]
    "9" -> "18" [dir=back tooltip="include"]
    "9" -> "34" [dir=back tooltip="include"]
    "9" -> "19" [dir=back tooltip="include"]
    "9" -> "35" [dir=back tooltip="include"]
    "9" -> "36" [dir=back tooltip="include"]
    "9" -> "37" [dir=back tooltip="include"]
    "9" -> "38" [dir=back tooltip="include"]
    "9" -> "39" [dir=back tooltip="include"]
    "9" -> "40" [dir=back tooltip="include"]
    "9" -> "41" [dir=back tooltip="include"]
    "9" -> "21" [dir=back tooltip="include"]
    "9" -> "43" [dir=back tooltip="include"]
    "9" -> "44" [dir=back tooltip="include"]
    "9" -> "45" [dir=back tooltip="include"]
    "9" -> "46" [dir=back tooltip="include"]
    "9" -> "47" [dir=back tooltip="include"]
    "9" -> "48" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "9" -> "25" [dir=back tooltip="include"]
    "32" -> "15" [dir=back tooltip="include"]
    "32" -> "17" [dir=back tooltip="include"]
    "32" -> "18" [dir=back tooltip="include"]
    "38" -> "19" [dir=back tooltip="include"]
    "38" -> "20" [dir=back tooltip="include"]
    "29" -> "14" [dir=back tooltip="include"]
    "29" -> "15" [dir=back tooltip="include"]
    "29" -> "28" [dir=back tooltip="include"]
    "29" -> "17" [dir=back tooltip="include"]
    "46" -> "4" [dir=back tooltip="include"]
    "46" -> "6" [dir=back tooltip="include"]
    "46" -> "8" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "11" [dir=back tooltip="include"]
    "34" -> "19" [dir=back tooltip="include"]
    "34" -> "20" [dir=back tooltip="include"]
    "27" -> "13" [dir=back tooltip="include"]
    "27" -> "14" [dir=back tooltip="include"]
    "27" -> "15" [dir=back tooltip="include"]
    "27" -> "16" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "29" [dir=back tooltip="include"]
    "27" -> "18" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "1" -> "27" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "30" [dir=back tooltip="include"]
    "1" -> "31" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "1" -> "28" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "35" [dir=back tooltip="include"]
    "1" -> "36" [dir=back tooltip="include"]
    "1" -> "37" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "40" [dir=back tooltip="include"]
    "1" -> "42" [dir=back tooltip="include"]
    "1" -> "21" [dir=back tooltip="include"]
    "1" -> "43" [dir=back tooltip="include"]
    "1" -> "22" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "45" [dir=back tooltip="include"]
    "1" -> "47" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "24" [dir=back tooltip="include"]
    "1" -> "25" [dir=back tooltip="include"]
    "48" -> "8" [dir=back tooltip="include"]
    "48" -> "24" [dir=back tooltip="include"]
    "23" -> "11" [dir=back tooltip="include"]
    "23" -> "24" [dir=back tooltip="include"]
    "12" -> "8" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "12" -> "16" [dir=back tooltip="include"]
    "12" -> "17" [dir=back tooltip="include"]
    "12" -> "18" [dir=back tooltip="include"]
    "12" -> "19" [dir=back tooltip="include"]
    "12" -> "20" [dir=back tooltip="include"]
    "12" -> "21" [dir=back tooltip="include"]
    "12" -> "22" [dir=back tooltip="include"]
    "12" -> "23" [dir=back tooltip="include"]
    "12" -> "25" [dir=back tooltip="include"]
    "41" -> "42" [dir=back tooltip="include"]
    "41" -> "21" [dir=back tooltip="include"]
    "41" -> "22" [dir=back tooltip="include"]
}

Main header file for the Sunshine application.

Defines

MAIL(x)#

Functions

void launch_ui()#

Launch the Web UI.

EXAMPLES:

launch_ui();

void log_flush()#

Flush the log.

EXAMPLES:

log_flush();

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

Main application entry point.

EXAMPLES:

main(1, const char* args[] = {"sunshine", nullptr});

Parameters:
  • argc – The number of arguments.

  • argv – The arguments.

std::uint16_t map_port(int port)#

Map a specified port based on the base port.

EXAMPLES:

std::uint16_t mapped_port = map_port(1);

Parameters:

port – The port to map as a difference from the base port.

Returns:

std:uint16_t : The mapped port number.

void print_help(const char *name)#

Print help to stdout.

EXAMPLES:

print_help("sunshine");

Parameters:

name – The name of the program.

std::string read_file(const char *path)#

Read a file to string.

EXAMPLES:

std::string contents = read_file("path/to/file");

Parameters:

path – The path of the file.

Returns:

std::string : The contents of the file.

int write_file(const char *path, const std::string_view &contents)#

Writes a file.

EXAMPLES:

int write_status = write_file("path/to/file", "file contents");

Parameters:
  • path – The path of the file.

  • contents – The contents to write.

Returns:

int : 0 on success, -1 on failure.

Variables

boost::log::sources::severity_logger<int> debug#
bool display_cursor#
boost::log::sources::severity_logger<int> error#
boost::log::sources::severity_logger<int> fatal#
boost::log::sources::severity_logger<int> info#
thread_pool_util::ThreadPool task_pool#
boost::log::sources::severity_logger<int> verbose#
boost::log::sources::severity_logger<int> warning#
namespace lifetime#
namespace mail#

Variables

constexpr auto audio_packets = std::string_view{"audio_packets"}#
constexpr auto broadcast_shutdown = std::string_view{"broadcast_shutdown"}#
constexpr auto hdr = std::string_view{"hdr"}#
constexpr auto idr = std::string_view{"idr"}#
safe::mail_t man#
constexpr auto rumble = std::string_view{"rumble"}#
constexpr auto shutdown = std::string_view{"shutdown"}#
constexpr auto switch_display = std::string_view{"switch_display"}#
constexpr auto touch_port = std::string_view{"touch_port"}#
constexpr auto video_packets = std::string_view{"video_packets"}#