diff --git a/applications/ems_datahubs/datahubs.vcxproj b/applications/ems_datahubs/datahubs.vcxproj index 4731959..715d003 100644 --- a/applications/ems_datahubs/datahubs.vcxproj +++ b/applications/ems_datahubs/datahubs.vcxproj @@ -89,7 +89,9 @@ + + diff --git a/applications/ems_datahubs/frame_define.h b/applications/ems_datahubs/frame_define.h new file mode 100644 index 0000000..c0fa112 --- /dev/null +++ b/applications/ems_datahubs/frame_define.h @@ -0,0 +1,23 @@ +#pragma once +#pragma pack(1) + +#include "kdefine.h" + +NAMESPACE_BEGIN(HJ) + +typedef enum tagFrameType : char +{ + Frame_Request = 0, //请求帧 + Frame_Response = 1, //返回帧 +}FrameType; + +typedef struct tagFrame +{ + FrameType frame_type; //帧类型 + unsigned int frame_len; //帧数据长度 + char frame_content[1]; //帧的内容,实际应为json字符串,由json内容自解释 +}MessageFrame; + +NAMESPACE_END(HJ) + +#pragma pack() \ No newline at end of file diff --git a/applications/ems_datahubs/kdefine.h b/applications/ems_datahubs/kdefine.h new file mode 100644 index 0000000..55d84a9 --- /dev/null +++ b/applications/ems_datahubs/kdefine.h @@ -0,0 +1,41 @@ +#ifndef __KDEFINE_INCLUDE__ +#define __KDEFINE_INCLUDE__ + +#define K22_STR_EXP(__A) #__A +#define K22_STR(__A) K22_STR_EXP(__A) +#define K22_STRW_EXP(__A) L ## #__A +#define K22_STRW(__A) K22_STRW_EXP(__A) + +#define K22_CMS_VERSION_MAJOR 1 +#define K22_CMS_VERSION_MINOR 215 +#define K22_CMS_VERSION_REVISION 0 +#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) "" + +#ifdef __cplusplus + +# ifndef EXTERN_C +# define EXTERN_C extern "C" +# endif + +# ifndef BEGIN_EXTERN_C +# define BEGIN_EXTERN_C extern "C" { +# endif + +# ifndef END_EXTERN_C +# define END_EXTERN_C } // extern "C" +# endif + +#else + +# define EXTERN_C extern +# define BEGIN_EXTERN_C +# define END_EXTERN_C + +#endif // __cplusplus + +#define NAMESPACE_BEGIN(X) namespace X { +#define NAMESPACE_END(X) } +#define USING_NAMESPACE(X) using namespace X + + +#endif diff --git a/applications/ems_datahubs/main.cpp b/applications/ems_datahubs/main.cpp index 2735608..1563c97 100644 --- a/applications/ems_datahubs/main.cpp +++ b/applications/ems_datahubs/main.cpp @@ -15,6 +15,8 @@ #include #include +#include "kdefine.h" + #include "mqtt_msg.h" #include "openjson.h" #include "opmysql.h" @@ -23,12 +25,6 @@ #define TEST_UNPACK 1 -#define K22_STR_EXP(__A) #__A -#define K22_STR(__A) K22_STR_EXP(__A) -#define K22_CMS_VERSION_MAJOR 1 -#define K22_CMS_VERSION_MINOR 215 -#define K22_CMS_VERSION_REVISION 0 -#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) "" #define CHUNK 16384 diff --git a/applications/ems_datahubs/mqtt_msg.h b/applications/ems_datahubs/mqtt_msg.h index 1470ac1..f2249a5 100644 --- a/applications/ems_datahubs/mqtt_msg.h +++ b/applications/ems_datahubs/mqtt_msg.h @@ -1,10 +1,11 @@ #pragma once + #pragma pack(1) typedef enum tagTopic : char { GateWayPublicTopic_Server = 0, ServerPublicTopic_GateWay = 1, -}MQTT_Topic; +}FrameType, MQTT_Topic; typedef enum tagDataType : char { @@ -15,8 +16,10 @@ typedef enum tagDataType : char DT_GATEWAY_CTRLDATA = 4, DT_WEB_CTRL = 5, DT_WEB_WRITE = 6, - DT_GATEWAY_WRITE = 7 -}MQTT_DataType; + DT_GATEWAY_WRITE = 7, + FRAME_REQUEST = 8, + FRAME_RESPONSE = 9, +}FrameDataType,MQTT_DataType; /* { @@ -47,4 +50,6 @@ typedef struct tagMsgData char content_data[1]; //MQTT包字符串的内容 }MessageData; + + #pragma pack() \ No newline at end of file