-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathframework.h
43 lines (31 loc) · 1.34 KB
/
framework.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#ifndef STRICT
#define STRICT
#endif
#include "targetver.h"
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#define ATL_NO_ASSERT_ON_DESTROY_NONEXISTENT_WINDOW
#include "resource.h"
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
#include <atlsafe.h>
#include <cpprest/json.h>
#include <cpprest/http_client.h>
//////////
// This #import is *not* about C++ '23 modules. It is an old Microsoft specific way to transpile
// type libraries into C++ consumable headers. The COM #import statement is still (somewhat)
// supported. It requires the Microsoft specific extensions to be enabled *and* the concurrent
// build to be disabled. The latter can be easily achieved by putting the #import's in the
// precompiled header, as header precompilation runs on concurrency disabled by definition.
//////////
#pragma warning (disable:4146) // There's a signed/unsigned conflict in the EA.tlb file
#import "EA.tlb" no_namespace raw_interfaces_only
//////////
// Workaround for #import bug in some versions of VS2022 where it generates the .tlh file, but
// forgets to emit the corresponding #include
//////////
#include "EA.tlh" // The generated code has #pragma once, so it's safe to include it here
#pragma warning (default:4146)