Mercurial > libanimone
annotate include/animone/util/win32.h @ 26:77a5ea5e996c
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Thu, 20 Jun 2024 05:56:06 -0400 |
parents | 60ded877339b |
children |
rev | line source |
---|---|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
1 #ifndef ANIMONE_ANIMONE_UTIL_WIN32_H_ |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
2 #define ANIMONE_ANIMONE_UTIL_WIN32_H_ |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
3 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
4 #include <windef.h> |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
5 #include <subauth.h> |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
6 #include <handleapi.h> |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
7 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
8 #include <memory> |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
9 #include <string> |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
10 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
11 namespace animone::internal::win32 { |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
12 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
13 struct HandleDeconstructor { |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
14 using pointer = HANDLE; |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
15 void operator()(pointer t) const { ::CloseHandle(t); }; |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
16 }; |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
17 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
18 using Handle = std::unique_ptr<HANDLE, HandleDeconstructor>; |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
19 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
20 /* ----------------------------------------------- */ |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
21 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
22 std::string ToUtf8String(const std::wstring& string); |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
23 std::string ToUtf8String(const UNICODE_STRING& string); |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
24 std::wstring ToWstring(const std::string& string); |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
25 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
26 } // namespace animone::internal::win32 |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
3
diff
changeset
|
27 |
0 | 28 #endif // ANIMONE_ANIMONE_UTIL_WIN32_H_ |