Skip to content

Commit 7797ed3

Browse files
committed
added:email notify support when set recv user
1 parent cc8fd6f commit 7797ed3

File tree

15 files changed

+228
-82
lines changed

15 files changed

+228
-82
lines changed

XEngine_Apps/MQCore_HTTPApp/MQCore_HTTPApp.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@
7272
<PropertyGroup Label="UserMacros" />
7373
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
7474
<LinkIncremental>true</LinkIncremental>
75-
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
75+
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
7676
<LibraryPath>$(XEngine_Lib32);$(LibraryPath)</LibraryPath>
7777
</PropertyGroup>
7878
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
7979
<LinkIncremental>false</LinkIncremental>
8080
</PropertyGroup>
8181
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
8282
<LinkIncremental>true</LinkIncremental>
83-
<IncludePath>$(XEngine_Include);$(IncludePath)</IncludePath>
83+
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
8484
<LibraryPath>$(XEngine_Lib64);$(LibraryPath)</LibraryPath>
8585
</PropertyGroup>
8686
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

XEngine_Apps/MQCore_HTTPApp/MQCore_HTTPApp.vcxproj.filters

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
66
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
77
</Filter>
8-
<Filter Include="头文件">
9-
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10-
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
11-
</Filter>
128
<Filter Include="资源文件">
139
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
1410
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
1511
</Filter>
12+
<Filter Include="源文件\头文件">
13+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
14+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
15+
</Filter>
1616
</ItemGroup>
1717
<ItemGroup>
1818
<ClCompile Include="MQCore_HTTPApp.cpp">

XEngine_Apps/MQCore_TCPApp/MQCore_TCPApp.cpp

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ using namespace std;
2525
XSOCKET m_Socket;
2626
__int64x nLastNumber = 0;
2727
LPCXSTR lpszKey = _X("XEngine_CommKey"); //主题
28-
LPCXSTR lpszUser = _X("aaadddzxc");
28+
LPCXSTR lpszUser = _X("123123aa");
2929
LPCXSTR lpszPass = _X("123123");
3030

3131
void MQ_Authorize()
@@ -247,6 +247,56 @@ void MQ_Post(LPCXSTR lpszMsgBuffer, int nType = 0, int nPubTime = -1, bool bSelf
247247
memcpy(&st_XMQProtocol, ptszMsgBuffer, sizeof(XENGINE_PROTOCOL_XMQ));
248248
BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer);
249249
}
250+
void MQ_PostEMail(LPCXSTR lpszMsgBuffer)
251+
{
252+
int nLen = 0;
253+
XENGINE_PROTOCOLHDR st_ProtocolHdr;
254+
XENGINE_PROTOCOL_XMQ st_XMQProtocol;
255+
XCHAR tszMsgBuffer[2048];
256+
257+
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
258+
memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
259+
memset(&st_XMQProtocol, '\0', sizeof(XENGINE_PROTOCOL_XMQ));
260+
261+
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
262+
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
263+
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQPOST;
264+
st_ProtocolHdr.byIsReply = true; //获得处理返回结果
265+
st_ProtocolHdr.byVersion = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_STRING;
266+
st_ProtocolHdr.unPacketSize = sizeof(XENGINE_PROTOCOL_XMQ) + strlen(lpszMsgBuffer);
267+
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
268+
269+
st_XMQProtocol.nSerial = 0; //序列号,0服务会自动处理
270+
st_XMQProtocol.nKeepTime = 0;
271+
st_XMQProtocol.nPubTime = 0;
272+
strcpy(st_XMQProtocol.tszMQKey, lpszKey);
273+
strcpy(st_XMQProtocol.tszMQUsr, "[email protected]");
274+
275+
st_XMQProtocol.st_MSGAttr.byAttrEMail = 1;
276+
277+
nLen = sizeof(XENGINE_PROTOCOLHDR) + st_ProtocolHdr.unPacketSize;
278+
memcpy(tszMsgBuffer, &st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR));
279+
memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), &st_XMQProtocol, sizeof(XENGINE_PROTOCOL_XMQ));
280+
memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR) + sizeof(XENGINE_PROTOCOL_XMQ), lpszMsgBuffer, strlen(lpszMsgBuffer));
281+
282+
if (!XClient_TCPSelect_SendMsg(m_Socket, tszMsgBuffer, nLen))
283+
{
284+
_xtprintf("发送投递失败!\n");
285+
return;
286+
}
287+
nLen = 2048;
288+
XCHAR* ptszMsgBuffer;
289+
memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
290+
291+
if (!XClient_TCPSelect_RecvPkt(m_Socket, &ptszMsgBuffer, &nLen, &st_ProtocolHdr))
292+
{
293+
_xtprintf("接受数据失败!\n");
294+
return;
295+
}
296+
memset(&st_XMQProtocol, '\0', sizeof(XENGINE_PROTOCOL_XMQ));
297+
memcpy(&st_XMQProtocol, ptszMsgBuffer, sizeof(XENGINE_PROTOCOL_XMQ));
298+
BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer);
299+
}
250300
void MQ_Get(int nType = 0)
251301
{
252302
int nLen = 0;
@@ -529,6 +579,7 @@ int main(int argc, char** argv)
529579
_xtprintf("连接成功!\n");
530580

531581
MQ_Authorize();
582+
MQ_PostEMail("test for email");
532583
MQ_GetUNRead();
533584
MQ_Create();
534585
MQ_Post(NULL, ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_BIN, -1, true);

XEngine_Apps/MQCore_WSApp/MQCore_WSApp.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@
7272
<PropertyGroup Label="UserMacros" />
7373
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
7474
<LinkIncremental>true</LinkIncremental>
75-
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
75+
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
7676
<LibraryPath>$(XEngine_Lib32);$(LibraryPath)</LibraryPath>
7777
</PropertyGroup>
7878
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
7979
<LinkIncremental>false</LinkIncremental>
8080
</PropertyGroup>
8181
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
8282
<LinkIncremental>true</LinkIncremental>
83-
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
83+
<IncludePath>$(XEngine_Include);../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath)</IncludePath>
8484
<LibraryPath>$(XEngine_Lib64);$(LibraryPath)</LibraryPath>
8585
</PropertyGroup>
8686
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Lines changed: 56 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,67 @@
11
{
2-
"tszIPAddr":"127.0.0.1",
3-
"tszTopic":"XEngine_CommKey",
4-
"bDeamon":0,
5-
"nTCPPort":5200,
6-
"nWSPort":5201,
7-
"nHttpPort":5202,
8-
"nMQTTPort":5203,
9-
"XMax":{
10-
"nMaxClient":10000,
11-
"nMaxQueue":10000,
12-
"nIOThread":2,
13-
"nTCPThread":2,
14-
"nHttpThread":2,
15-
"nWSThread":2,
16-
"nMQTTThread":2
2+
"tszIPAddr": "127.0.0.1",
3+
"tszTopic": "XEngine_CommKey",
4+
"bDeamon": 0,
5+
"nTCPPort": 5200,
6+
"nWSPort": 5201,
7+
"nHttpPort": 5202,
8+
"nMQTTPort": 5203,
9+
"XMax": {
10+
"nMaxClient": 10000,
11+
"nMaxQueue": 10000,
12+
"nIOThread": 2,
13+
"nTCPThread": 2,
14+
"nHttpThread": 2,
15+
"nWSThread": 2,
16+
"nMQTTThread": 2
1717
},
18-
"XLog":{
19-
"tszLOGFile":"./XEngine_Log/XEngine_MQServiceApp.Log",
20-
"MaxSize":1024000,
21-
"MaxCount":10,
22-
"LogLeave":32,
23-
"LogType":17
18+
"XLog": {
19+
"tszLOGFile": "./XEngine_Log/XEngine_MQServiceApp.Log",
20+
"MaxSize": 1024000,
21+
"MaxCount": 10,
22+
"LogLeave": 32,
23+
"LogType": 17
2424
},
25-
"XSql":{
26-
"SQLAddr":"10.0.4.150",
27-
"SQLPort":3306,
28-
"SQLUser":"root",
29-
"SQLPass":"123123aa"
25+
"XSql": {
26+
"SQLAddr": "127.0.0.1",
27+
"SQLPort": 3306,
28+
"SQLUser": "root",
29+
"SQLPass": "123123"
3030
},
31-
"XPass":{
32-
"nTimeout":2,
33-
"tszPassRegister":"",
34-
"tszPassUNReg":"",
35-
"tszPassLogin":"",
36-
"tszPassLogout":""
31+
"XPass": {
32+
"nTimeout": 2,
33+
"tszPassRegister": "",
34+
"tszPassUNReg": "",
35+
"tszPassLogin": "",
36+
"tszPassLogout": ""
3737
},
38-
"XMemory":{
39-
"bDataQueryEnable":true,
40-
"bDataInsertEnable":true,
41-
"bUserQueryEnable":true,
42-
"nTimeLast":3600,
43-
"nTimeCount":0
38+
"XMemory": {
39+
"bDataQueryEnable": true,
40+
"bDataInsertEnable": true,
41+
"bUserQueryEnable": true,
42+
"nTimeLast": 3600,
43+
"nTimeCount": 0
4444
},
45-
"XVerification":{
45+
"XVerification": {
4646
"bEnable": false,
4747
"nVType": 1,
48-
"tszAuthPass": "http://192.168.1.7:5200/Api/Pass/UPFile"
48+
"tszAuthPass": ""
4949
},
50-
"XReport":{
51-
"bEnable":true,
52-
"tszServiceName":"XEngine_MQService",
53-
"tszAPIUrl":"http://app.xyry.org:5501/api?function=machine"
50+
"XNotify": {
51+
"EmailNotify": {
52+
"bEnable": true,
53+
"tszEMailSubject": "XEngine MessageQueue Notify",
54+
"tszServiceAddr": "smtp://smtp.163.com",
55+
"tszUser": "[email protected]",
56+
"tszPass": "1"
57+
},
58+
"SMSNotify": {
59+
"bEnable": false
60+
}
61+
},
62+
"XReport": {
63+
"bEnable": true,
64+
"tszServiceName": "XEngine_MQService",
65+
"tszAPIUrl": "http://app.xyry.org:5501/api?function=machine"
5466
}
5567
}

XEngine_Source/MQCore_ConfigModule/Config_Define.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,21 @@ typedef struct
7070
int nVType;
7171
XCHAR tszAuthPass[XPATH_MID];
7272
}st_XVerification;
73+
struct
74+
{
75+
struct
76+
{
77+
XCHAR tszEMailSubject[XPATH_MID];
78+
XCHAR tszServiceAddr[XPATH_MIN];
79+
XCHAR tszUser[XPATH_MIN];
80+
XCHAR tszPass[XPATH_MIN];
81+
bool bEnable;
82+
}st_EMailNotify;
83+
struct
84+
{
85+
bool bEnable;
86+
}st_SMSNotify;
87+
}st_XNotify;
7388
struct
7489
{
7590
bool bEnable;

XEngine_Source/MQCore_ConfigModule/Config_Error.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
#define ERROR_MQ_MODULE_CONFIG_JSON_XVER 0x0020008
2424
#define ERROR_MQ_MODULE_CONFIG_JSON_XREPORT 0x0020009
2525
#define ERROR_MQ_MODULE_CONFIG_JSON_XMEMORY 0x0020010
26-
#define ERROR_MQ_MODULE_CONFIG_JSON_XAUTHORIZE 0x0020011
26+
#define ERROR_MQ_MODULE_CONFIG_JSON_XAUTHORIZE 0x0020011
27+
#define ERROR_MQ_MODULE_CONFIG_JSON_XNOTIFY 0x0020012

XEngine_Source/MQCore_ConfigModule/Config_Json/Config_Json.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,25 @@ bool CConfig_Json::Config_Json_File(LPCXSTR lpszConfigFile,XENGINE_SERVERCONFIG
139139
pSt_ServerConfig->st_XVerification.nVType = st_JsonXVerification["nVType"].asInt();
140140
_tcsxcpy(pSt_ServerConfig->st_XVerification.tszAuthPass, st_JsonXVerification["tszAuthPass"].asCString());
141141

142+
if (st_JsonRoot["XNotify"].empty() || (2 != st_JsonRoot["XNotify"].size()))
143+
{
144+
Config_IsErrorOccur = true;
145+
Config_dwErrorCode = ERROR_MQ_MODULE_CONFIG_JSON_XNOTIFY;
146+
return false;
147+
}
148+
Json::Value st_JsonXNotify = st_JsonRoot["XNotify"];
149+
Json::Value st_JsonEMailNotify = st_JsonXNotify["EmailNotify"];
150+
Json::Value st_JsonSMSNotify = st_JsonXNotify["SMSNotify"];
151+
152+
pSt_ServerConfig->st_XNotify.st_EMailNotify.bEnable = st_JsonEMailNotify["bEnable"].asBool();
153+
_tcsxcpy(pSt_ServerConfig->st_XNotify.st_EMailNotify.tszEMailSubject, st_JsonEMailNotify["tszEMailSubject"].asCString());
154+
_tcsxcpy(pSt_ServerConfig->st_XNotify.st_EMailNotify.tszServiceAddr, st_JsonEMailNotify["tszServiceAddr"].asCString());
155+
_tcsxcpy(pSt_ServerConfig->st_XNotify.st_EMailNotify.tszUser, st_JsonEMailNotify["tszUser"].asCString());
156+
_tcsxcpy(pSt_ServerConfig->st_XNotify.st_EMailNotify.tszPass, st_JsonEMailNotify["tszPass"].asCString());
157+
158+
pSt_ServerConfig->st_XNotify.st_SMSNotify.bEnable = st_JsonSMSNotify["bEnable"].asBool();
159+
160+
_tcsxcpy(pSt_ServerConfig->st_XVerification.tszAuthPass, st_JsonXVerification["tszAuthPass"].asCString());
142161
if (st_JsonRoot["XReport"].empty() || (3 != st_JsonRoot["XReport"].size()))
143162
{
144163
Config_IsErrorOccur = true;

XEngine_Source/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ BASE_THIRDPART_JSONCPP = ./XEngine_DependLibrary/XEngine_Module/jsoncpp
77
BASE_THIRDPART_REPORT = ./XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport
88
BASE_THIRDPART_TOKEN = ./XEngine_DependLibrary/XEngine_Module/XEngine_Token
99
BASE_THIRDPART_VERIFICATION = ./XEngine_DependLibrary/XEngine_Module/XEngine_Verification
10+
BASE_THIRDPART_NOTIFY = ./XEngine_DependLibrary/XEngine_Module/XEngine_MSGNotify
1011

1112
BASE_CONFIG_PATH = ./MQCore_ConfigModule
1213
BASE_PROTOCOL_PATH = ./MQCore_ProtocolModule
@@ -23,7 +24,7 @@ else ifeq ($(PLATFORM),mac)
2324
FILEEXT = dylib
2425
endif
2526

26-
XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Token.so libXEngine_Verification.so \
27+
XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Token.so libXEngine_Verification.so libXEngine_MSGNotify.so \
2728
libMQCore_ConfigModule.so libMQCore_ProtocolModule.so libMQCore_SessionModule.so libMQCore_MemoryCache.so libMQCore_DBModule.so libMQCore_HelpModule.so \
2829
XEngine_MQServiceApp.exe
2930

@@ -55,6 +56,12 @@ ifeq ($(FLAGS), InstallAll)
5556
else
5657
make -C $(BASE_THIRDPART_VERIFICATION) PLATFORM=$(PLATFORM) $(FLAGS)
5758
endif
59+
libXEngine_MSGNotify.so:
60+
ifeq ($(FLAGS), InstallAll)
61+
cp $(BASE_THIRDPART_NOTIFY)/libXEngine_MSGNotify.$(FILEEXT) ../XEngine_Release/
62+
else
63+
make -C $(BASE_THIRDPART_NOTIFY) PLATFORM=$(PLATFORM) $(FLAGS)
64+
endif
5865

5966
libMQCore_ConfigModule.so:
6067
make -C $(BASE_CONFIG_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS)

XEngine_Source/XEngine_MQServiceApp.sln

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_MQServiceApp", "XEn
1212
{8C55D3E0-FEC2-4A6C-A374-651516ED8F99} = {8C55D3E0-FEC2-4A6C-A374-651516ED8F99}
1313
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}
1414
{B0EB2A7A-53C1-4E9F-A851-19539099671C} = {B0EB2A7A-53C1-4E9F-A851-19539099671C}
15+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA} = {E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}
1516
{E17E889F-D826-413F-854E-DBA6000B4DA7} = {E17E889F-D826-413F-854E-DBA6000B4DA7}
1617
{F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}
1718
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}
@@ -56,6 +57,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Token", "XEngine_De
5657
EndProject
5758
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}"
5859
EndProject
60+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_MSGNotify", "..\..\XEngine_APIService\XEngine_Source\XEngine_DependLibrary\XEngine_OPenSource\XEngine_Module\XEngine_MSGNotify\XEngine_MSGNotify.vcxproj", "{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}"
61+
EndProject
5962
Global
6063
GlobalSection(SolutionConfigurationPlatforms) = preSolution
6164
Debug|ARM64 = Debug|ARM64
@@ -198,6 +201,18 @@ Global
198201
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.Build.0 = Release|x64
199202
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.ActiveCfg = Release|Win32
200203
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.Build.0 = Release|Win32
204+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|ARM64.ActiveCfg = Debug|ARM64
205+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|ARM64.Build.0 = Debug|ARM64
206+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|x64.ActiveCfg = Debug|x64
207+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|x64.Build.0 = Debug|x64
208+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|x86.ActiveCfg = Debug|Win32
209+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Debug|x86.Build.0 = Debug|Win32
210+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|ARM64.ActiveCfg = Release|ARM64
211+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|ARM64.Build.0 = Release|ARM64
212+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|x64.ActiveCfg = Release|x64
213+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|x64.Build.0 = Release|x64
214+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|x86.ActiveCfg = Release|Win32
215+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA}.Release|x86.Build.0 = Release|Win32
201216
EndGlobalSection
202217
GlobalSection(SolutionProperties) = preSolution
203218
HideSolutionNode = FALSE
@@ -207,6 +222,7 @@ Global
207222
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {BAC91AAE-D438-4999-9541-EB8804B12F0C}
208223
{E17E889F-D826-413F-854E-DBA6000B4DA7} = {BAC91AAE-D438-4999-9541-EB8804B12F0C}
209224
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {BAC91AAE-D438-4999-9541-EB8804B12F0C}
225+
{E1087BA3-1074-4C6A-B770-A53B7BA1F4EA} = {BAC91AAE-D438-4999-9541-EB8804B12F0C}
210226
EndGlobalSection
211227
GlobalSection(ExtensibilityGlobals) = postSolution
212228
SolutionGuid = {EFADBBBD-43B1-4B9B-9DD8-04415EBEFDA7}

0 commit comments

Comments
 (0)