Skip to content

Commit c6c17e2

Browse files
committed
modify:Separated screen recording from the background service
1 parent 6113e86 commit c6c17e2

14 files changed

Lines changed: 330 additions & 192 deletions

XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1293,4 +1293,28 @@ extern "C" bool ModuleProtocol_Parse_Machine(LPCXSTR lpszMsgBuffer, int nMsgLen,
12931293
意思:是否成功
12941294
备注:
12951295
*********************************************************************/
1296-
extern "C" bool ModuleProtocol_Parse_Oil(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_OILINFO* pSt_OilInfo);
1296+
extern "C" bool ModuleProtocol_Parse_Oil(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_OILINFO* pSt_OilInfo);
1297+
/********************************************************************
1298+
函数名称:ModuleProtocol_Parse_AVRecord
1299+
函数功能:解析屏幕录制协议
1300+
参数.一:lpszMsgBuffer
1301+
In/Out:In
1302+
类型:常量字符指针
1303+
可空:N
1304+
意思:输入要解析的缓冲区
1305+
参数.二:nMsgLen
1306+
In/Out:In
1307+
类型:整数型
1308+
可空:N
1309+
意思:输入缓冲区大小
1310+
参数.三:pSt_AVRecord
1311+
In/Out:Out
1312+
类型:数据结构指针
1313+
可空:N
1314+
意思:输出解析后的信息
1315+
返回值
1316+
类型:逻辑型
1317+
意思:是否成功
1318+
备注:
1319+
*********************************************************************/
1320+
extern "C" bool ModuleProtocol_Parse_AVRecord(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AVRECORD* pSt_AVRecord);

XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,4 +1277,69 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_Oil(LPCXSTR lpszMsgBuffer, int
12771277
_tcsxcpy(pSt_OilInfo->tszNextTime, st_JsonObject["next_update_time"].asCString());
12781278
}
12791279
return true;
1280+
}
1281+
/********************************************************************
1282+
函数名称:ModuleProtocol_Parse_AVRecord
1283+
函数功能:解析屏幕录制协议
1284+
参数.一:lpszMsgBuffer
1285+
In/Out:In
1286+
类型:常量字符指针
1287+
可空:N
1288+
意思:输入要解析的缓冲区
1289+
参数.二:nMsgLen
1290+
In/Out:In
1291+
类型:整数型
1292+
可空:N
1293+
意思:输入缓冲区大小
1294+
参数.三:pSt_AVRecord
1295+
In/Out:Out
1296+
类型:数据结构指针
1297+
可空:N
1298+
意思:输出解析后的信息
1299+
返回值
1300+
类型:逻辑型
1301+
意思:是否成功
1302+
备注:
1303+
*********************************************************************/
1304+
bool CModuleProtocol_Parse::ModuleProtocol_Parse_AVRecord(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AVRECORD* pSt_AVRecord)
1305+
{
1306+
ModuleProtocol_IsErrorOccur = false;
1307+
1308+
if ((NULL == lpszMsgBuffer) || (0 == nMsgLen))
1309+
{
1310+
ModuleProtocol_IsErrorOccur = true;
1311+
ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT;
1312+
return false;
1313+
}
1314+
Json::Value st_JsonRoot;
1315+
JSONCPP_STRING st_JsonError;
1316+
Json::CharReaderBuilder st_JsonBuilder;
1317+
1318+
std::unique_ptr<Json::CharReader> const pSt_JsonReader(st_JsonBuilder.newCharReader());
1319+
if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError))
1320+
{
1321+
ModuleProtocol_IsErrorOccur = true;
1322+
ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT;
1323+
return false;
1324+
}
1325+
1326+
Json::Value st_JsonObject = st_JsonRoot["data"];
1327+
1328+
if (!st_JsonObject["tszVideoDevice"].isNull())
1329+
{
1330+
_tcsxcpy(pSt_AVRecord->tszVideoDevice, st_JsonObject["tszVideoDevice"].asCString());
1331+
}
1332+
if (!st_JsonObject["tszAudioDevice"].isNull())
1333+
{
1334+
_tcsxcpy(pSt_AVRecord->tszAudioDevice, st_JsonObject["tszAudioDevice"].asCString());
1335+
}
1336+
if (!st_JsonObject["tszFilePath"].isNull())
1337+
{
1338+
_tcsxcpy(pSt_AVRecord->tszFilePath, st_JsonObject["tszFilePath"].asCString());
1339+
}
1340+
if (!st_JsonObject["tszRsolution"].isNull())
1341+
{
1342+
_tcsxcpy(pSt_AVRecord->tszRsolution, st_JsonObject["tszRsolution"].asCString());
1343+
}
1344+
return true;
12801345
}

XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,6 @@ class CModuleProtocol_Parse
3434
bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo);
3535
bool ModuleProtocol_Parse_Machine(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_MACHINEINFO* pSt_MachineInfo);
3636
bool ModuleProtocol_Parse_Oil(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_OILINFO* pSt_OilInfo);
37+
bool ModuleProtocol_Parse_AVRecord(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AVRECORD* pSt_AVRecord);
3738
private:
3839
};

XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,5 @@ EXPORTS
4848
ModuleProtocol_Parse_Deamon
4949
ModuleProtocol_Parse_Weather
5050
ModuleProtocol_Parse_Machine
51-
ModuleProtocol_Parse_Oil
51+
ModuleProtocol_Parse_Oil
52+
ModuleProtocol_Parse_AVRecord

XEngine_Source/XEngine_ModuleProtocol/pch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,4 +213,8 @@ extern "C" bool ModuleProtocol_Parse_Machine(LPCXSTR lpszMsgBuffer, int nMsgLen,
213213
extern "C" bool ModuleProtocol_Parse_Oil(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_OILINFO* pSt_OilInfo)
214214
{
215215
return m_ProtocolParse.ModuleProtocol_Parse_Oil(lpszMsgBuffer, nMsgLen, pSt_OilInfo);
216+
}
217+
extern "C" bool ModuleProtocol_Parse_AVRecord(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AVRECORD* pSt_AVRecord)
218+
{
219+
return m_ProtocolParse.ModuleProtocol_Parse_AVRecord(lpszMsgBuffer, nMsgLen, pSt_AVRecord);
216220
}

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LIBEX =
1414
OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_PluginTask.o XEngine_HttpApp.o \
1515
RFCTask_Ntp.o RFCTask_Stun.o RFCTask_Dns.o \
1616
TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o TaskGet_Weather.o TaskGet_IDRegion.o TaskGet_Oil.o TaskGet_APIModule.o \
17-
TaskPost_DTest.o TaskPost_Log.o TaskPost_P2PClient.o TaskPost_PostCode.o TaskPost_QRCode.o TaskPost_ShortLink.o TaskPost_SocketTest.o TaskPost_WordFilter.o TaskPost_Image.o TaskPost_BackService.o TaskPost_Deamon.o TaskPost_Machine.o
17+
TaskPost_DTest.o TaskPost_Log.o TaskPost_P2PClient.o TaskPost_PostCode.o TaskPost_QRCode.o TaskPost_ShortLink.o TaskPost_SocketTest.o TaskPost_WordFilter.o TaskPost_Image.o TaskPost_BackService.o TaskPost_Deamon.o TaskPost_Machine.o TaskPost_AVRecord.o
1818

1919
ifeq ($(RELEASE),1)
2020
FLAGS = -c -D _RELEASE
@@ -117,6 +117,8 @@ TaskPost_Deamon.o:./XEngine_TaskPost/TaskPost_Deamon.cpp
117117
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_Deamon.cpp
118118
TaskPost_Machine.o:./XEngine_TaskPost/TaskPost_Machine.cpp
119119
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_Machine.cpp
120+
TaskPost_AVRecord.o:./XEngine_TaskPost/TaskPost_AVRecord.cpp
121+
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_AVRecord.cpp
120122

121123
XEngine_HttpApp.o:./XEngine_HttpApp.cpp
122124
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_HttpApp.cpp

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ using namespace std;
110110
#include "XEngine_TaskPost/TaskPost_Image.h"
111111
#include "XEngine_TaskPost/TaskPost_Deamon.h"
112112
#include "XEngine_TaskPost/TaskPost_Machine.h"
113+
#include "XEngine_TaskPost/TaskPost_AVRecord.h"
113114
//get
114115
#include "XEngine_TaskGet/TaskGet_IDCard.h"
115116
#include "XEngine_TaskGet/TaskGet_Bank.h"

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@
238238
<ClCompile Include="XEngine_TaskGet\TaskGet_Reload.cpp" />
239239
<ClCompile Include="XEngine_TaskGet\TaskGet_Translation.cpp" />
240240
<ClCompile Include="XEngine_TaskGet\TaskGet_Weather.cpp" />
241+
<ClCompile Include="XEngine_TaskPost\TaskPost_AVRecord.cpp" />
241242
<ClCompile Include="XEngine_TaskPost\TaskPost_BackService.cpp" />
242243
<ClCompile Include="XEngine_TaskPost\TaskPost_Deamon.cpp" />
243244
<ClCompile Include="XEngine_TaskPost\TaskPost_DTest.cpp" />
@@ -270,6 +271,7 @@
270271
<ClInclude Include="XEngine_TaskGet\TaskGet_Reload.h" />
271272
<ClInclude Include="XEngine_TaskGet\TaskGet_Translation.h" />
272273
<ClInclude Include="XEngine_TaskGet\TaskGet_Weather.h" />
274+
<ClInclude Include="XEngine_TaskPost\TaskPost_AVRecord.h" />
273275
<ClInclude Include="XEngine_TaskPost\TaskPost_BackService.h" />
274276
<ClInclude Include="XEngine_TaskPost\TaskPost_Deamon.h" />
275277
<ClInclude Include="XEngine_TaskPost\TaskPost_Image.h" />

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<ClCompile Include="XEngine_TaskRfc\RFCTask_Dns.cpp">
121121
<Filter>源文件\XEngine_TaskRfc</Filter>
122122
</ClCompile>
123+
<ClCompile Include="XEngine_TaskPost\TaskPost_AVRecord.cpp">
124+
<Filter>源文件\XEngine_TaskPost</Filter>
125+
</ClCompile>
123126
</ItemGroup>
124127
<ItemGroup>
125128
<ClInclude Include="XEngine_Configure.h">
@@ -212,5 +215,8 @@
212215
<ClInclude Include="XEngine_TaskRfc\RFCTask_Dns.h">
213216
<Filter>头文件\XEngine_TaskRfc</Filter>
214217
</ClInclude>
218+
<ClInclude Include="XEngine_TaskPost\TaskPost_AVRecord.h">
219+
<Filter>头文件\XEngine_TaskPost</Filter>
220+
</ClInclude>
215221
</ItemGroup>
216222
</Project>

0 commit comments

Comments
 (0)