opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
app_metadata.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <optional>
6#include <string>
7#include <string_view>
8
9namespace osc
10{
12 public:
13 AppMetadata() = default;
14
15 CStringView organization_name() const { return organization_name_; }
16 void set_organization_name(std::string_view new_organization_name) { organization_name_ = new_organization_name; }
17
18 CStringView application_name() const { return application_name_; }
19 void set_application_name(std::string_view new_application_name) { application_name_ = new_application_name; }
20
21 CStringView config_filename() const { return config_filename_; }
22 void set_config_filename(std::string_view new_config_filename) { config_filename_ = new_config_filename; }
23
24 std::optional<CStringView> long_appliation_name() const { return long_application_name_; }
25 void set_long_application_name(std::string_view new_long_application_name) { long_application_name_ = new_long_application_name; }
26
27 std::optional<CStringView> version_string() const { return version_string_; }
28 void set_version_string(std::string_view new_version_string) { version_string_ = new_version_string; }
29
30 std::optional<CStringView> build_id() const { return build_id_; }
31 void set_build_id(std::string_view new_build_id) { build_id_ = new_build_id; }
32
33 std::optional<CStringView> repository_url() const { return repository_url_; }
34 void set_repository_url(std::string_view new_repository_url) { repository_url_ = new_repository_url; }
35
36 std::optional<CStringView> documentation_url() const { return documentation_url_; }
37 void set_documentation_url(std::string_view new_documentation_url) { documentation_url_ = new_documentation_url; }
38
39 std::optional<CStringView> help_url() const { return help_url_; }
40 void set_help_url(std::string_view new_help_url) { help_url_ = new_help_url; }
41
43 {
44 return long_application_name_ ? *long_application_name_ : application_name_;
45 }
46
48
49 std::optional<bool> headless_mode() const { return headless_mode_; }
50 void set_headless_mode(std::optional<bool> new_headless_mode) { headless_mode_ = new_headless_mode; }
51
52 std::optional<bool> maximize_main_window() const { return maximize_main_window_; }
53 void set_maximize_main_window(std::optional<bool> new_maximize_main_window) { maximize_main_window_ = new_maximize_main_window; }
54 private:
55 std::string organization_name_ = "oscarorg";
56 std::string application_name_ = "osc";
57 std::string config_filename_ = "osc.toml";
58 std::optional<std::string> long_application_name_;
59 std::optional<std::string> version_string_;
60 std::optional<std::string> build_id_;
61 std::optional<std::string> repository_url_;
62 std::optional<std::string> documentation_url_;
63 std::optional<std::string> help_url_;
64 std::optional<bool> headless_mode_;
65 std::optional<bool> maximize_main_window_;
66 };
67}
Definition app_metadata.h:11
std::optional< CStringView > repository_url() const
Definition app_metadata.h:33
void set_version_string(std::string_view new_version_string)
Definition app_metadata.h:28
void set_organization_name(std::string_view new_organization_name)
Definition app_metadata.h:16
void set_long_application_name(std::string_view new_long_application_name)
Definition app_metadata.h:25
void set_application_name(std::string_view new_application_name)
Definition app_metadata.h:19
CStringView human_readable_application_name() const
Definition app_metadata.h:42
std::optional< bool > headless_mode() const
Definition app_metadata.h:49
void set_documentation_url(std::string_view new_documentation_url)
Definition app_metadata.h:37
std::optional< bool > maximize_main_window() const
Definition app_metadata.h:52
std::optional< CStringView > build_id() const
Definition app_metadata.h:30
std::optional< CStringView > help_url() const
Definition app_metadata.h:39
void set_maximize_main_window(std::optional< bool > new_maximize_main_window)
Definition app_metadata.h:53
std::optional< CStringView > documentation_url() const
Definition app_metadata.h:36
void set_help_url(std::string_view new_help_url)
Definition app_metadata.h:40
AppMetadata()=default
CStringView application_name() const
Definition app_metadata.h:18
void set_config_filename(std::string_view new_config_filename)
Definition app_metadata.h:22
CStringView config_filename() const
Definition app_metadata.h:21
void set_build_id(std::string_view new_build_id)
Definition app_metadata.h:31
std::string application_name_with_version_and_buildid() const
void set_repository_url(std::string_view new_repository_url)
Definition app_metadata.h:34
std::optional< CStringView > version_string() const
Definition app_metadata.h:27
CStringView organization_name() const
Definition app_metadata.h:15
std::optional< CStringView > long_appliation_name() const
Definition app_metadata.h:24
void set_headless_mode(std::optional< bool > new_headless_mode)
Definition app_metadata.h:50
Definition c_string_view.h:12
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56