DDraceNetwork Documentation
Loading...
Searching...
No Matches
windows.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3
4#ifndef BASE_WINDOWS_H
5#define BASE_WINDOWS_H
6
7#include "detect.h"
8
9#if defined(CONF_FAMILY_WINDOWS)
10
11#include <cstdint>
12#include <optional>
13#include <string>
14
20
30std::string windows_format_system_message(unsigned long error);
31
42std::wstring windows_args_to_wide(const char **arguments, size_t num_arguments);
43
57std::wstring windows_utf8_to_wide(const char *str);
58
72std::optional<std::string> windows_wide_to_utf8(const wchar_t *wide_str);
73
84class CWindowsComLifecycle
85{
86public:
87 CWindowsComLifecycle(bool HasWindow);
88 ~CWindowsComLifecycle();
89 CWindowsComLifecycle(const CWindowsComLifecycle &) = delete;
90};
91
105bool windows_shell_register_protocol(const char *protocol_name, const char *executable, bool *updated);
106
122bool windows_shell_register_extension(const char *extension, const char *description, const char *executable_name, const char *executable, bool *updated);
123
137bool windows_shell_register_application(const char *name, const char *executable, bool *updated);
138
153bool windows_shell_unregister_class(const char *shell_class, bool *updated);
154
167bool windows_shell_unregister_application(const char *executable, bool *updated);
168
176void windows_shell_update();
177
178#endif
179
180#endif