mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-28 20:45:17 +00:00
d83a3d71bc
Merge in RedPhone // FREEBIE
109 lines
4.0 KiB
C++
109 lines
4.0 KiB
C++
/*
|
||
Source:
|
||
http://msdn.microsoft.com/en-us/cc300389.aspx#P
|
||
|
||
License:
|
||
This license governs use of code marked as “sample” or “example” available on
|
||
this web site without a license agreement, as provided under the section above
|
||
titled “NOTICE SPECIFIC TO SOFTWARE AVAILABLE ON THIS WEB SITE.” If you use
|
||
such code (the “software”), you accept this license. If you do not accept the
|
||
license, do not use the software.
|
||
|
||
1. Definitions
|
||
|
||
The terms “reproduce,” “reproduction,” “derivative works,” and “distribution”
|
||
have the same meaning here as under U.S. copyright law.
|
||
|
||
A “contribution” is the original software, or any additions or changes to the
|
||
software.
|
||
|
||
A “contributor” is any person that distributes its contribution under this
|
||
license.
|
||
|
||
“Licensed patents” are a contributor’s patent claims that read directly on its
|
||
contribution.
|
||
|
||
2. Grant of Rights
|
||
|
||
(A) Copyright Grant - Subject to the terms of this license, including the
|
||
license conditions and limitations in section 3, each contributor grants you a
|
||
non-exclusive, worldwide, royalty-free copyright license to reproduce its
|
||
contribution, prepare derivative works of its contribution, and distribute its
|
||
contribution or any derivative works that you create.
|
||
|
||
(B) Patent Grant - Subject to the terms of this license, including the license
|
||
conditions and limitations in section 3, each contributor grants you a
|
||
non-exclusive, worldwide, royalty-free license under its licensed patents to
|
||
make, have made, use, sell, offer for sale, import, and/or otherwise dispose
|
||
of its contribution in the software or derivative works of the contribution in
|
||
the software.
|
||
|
||
3. Conditions and Limitations
|
||
|
||
(A) No Trademark License- This license does not grant you rights to use any
|
||
contributors’ name, logo, or trademarks.
|
||
|
||
(B) If you bring a patent claim against any contributor over patents that you
|
||
claim are infringed by the software, your patent license from such contributor
|
||
to the software ends automatically.
|
||
|
||
(C) If you distribute any portion of the software, you must retain all
|
||
copyright, patent, trademark, and attribution notices that are present in the
|
||
software.
|
||
|
||
(D) If you distribute any portion of the software in source code form, you may
|
||
do so only under this license by including a complete copy of this license
|
||
with your distribution. If you distribute any portion of the software in
|
||
compiled or object code form, you may only do so under a license that complies
|
||
with this license.
|
||
|
||
(E) The software is licensed “as-is.” You bear the risk of using it. The
|
||
contributors give no express warranties, guarantees or conditions. You may
|
||
have additional consumer rights under your local laws which this license
|
||
cannot change. To the extent permitted under your local laws, the contributors
|
||
exclude the implied warranties of merchantability, fitness for a particular
|
||
purpose and non-infringement.
|
||
|
||
(F) Platform Limitation - The licenses granted in sections 2(A) and 2(B)
|
||
extend only to the software or derivative works that you create that run on a
|
||
Microsoft Windows operating system product.
|
||
*/
|
||
|
||
/*
|
||
* The original code can be found here:
|
||
* http://msdn.microsoft.com/en-us/library/xcb2z8hs(VS.71).aspx
|
||
*/
|
||
|
||
#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
|
||
#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
|
||
|
||
namespace webrtc {
|
||
|
||
struct THREADNAME_INFO
|
||
{
|
||
DWORD dwType; // must be 0x1000
|
||
LPCSTR szName; // pointer to name (in user addr space)
|
||
DWORD dwThreadID; // thread ID (-1 = caller thread)
|
||
DWORD dwFlags; // reserved for future use, must be zero
|
||
};
|
||
|
||
void SetThreadName(DWORD dwThreadID, LPCSTR szThreadName)
|
||
{
|
||
THREADNAME_INFO info;
|
||
info.dwType = 0x1000;
|
||
info.szName = szThreadName;
|
||
info.dwThreadID = dwThreadID;
|
||
info.dwFlags = 0;
|
||
|
||
__try
|
||
{
|
||
RaiseException(0x406D1388, 0, sizeof(info) / sizeof(DWORD),
|
||
(ULONG_PTR*)&info);
|
||
}
|
||
__except (EXCEPTION_CONTINUE_EXECUTION)
|
||
{
|
||
}
|
||
}
|
||
} // namespace webrtc
|
||
#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
|