📄 fwpackdata.h
字号:
ASSERT(theHandle != ATTRNOHANDLE); \
PackStructFixedSet(theAdds, data, theHandle, num); \
}
#define PACKING_STRING_ATTRIBUTEDATA(data, dataName, updateFlag) \
if(theName == dataName && updateFlag) { \
theHandle = FindAttributeHandle(dataName); \
ASSERT(theHandle != ATTRNOHANDLE); \
PackString(theAdds, data, theHandle); \
}
#define PACKING_STRINGARRAY_ATTRIBUTEDATA(data, dataName, updateFlag) \
if(theName == dataName && updateFlag) { \
theHandle = FindAttributeHandle(dataName); \
ASSERT(theHandle != ATTRNOHANDLE); \
PackStringArray(theAdds, data, theHandle); \
}
#define PACKING_STRINGFIXEDSET_ATTRIBUTEDATA(data, dataName, updateFlag, num) \
if(theName == dataName && updateFlag) { \
theHandle = FindAttributeHandle(dataName); \
ASSERT(theHandle != ATTRNOHANDLE); \
PackStringFixedSet(theAdds, data, theHandle, num); \
}
#define END_PACKING_ATTRIBUTES_DATA() \
} \
}
#define BEGIN_UNPACKING_ATTRIBUTES_DATA(pAttributes) \
{ \
RTI::AttributeHandle theHandle = ATTRNOHANDLE, id = ATTRNOHANDLE; \
const RTI::AttributeHandleValuePairSet* theGets = pAttributes; \
ASSERT(theGets != NULL); \
for (unsigned int i = 0; i < theGets->size(); i++) { \
theHandle = theGets->getHandle(i);
#define UNPACKING_BASIC_ATTRIBUTEDATA(data, dataName) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackBasic(theGets, data, i); \
}
#define UNPACKING_BASICFIXEDSET_ATTRIBUTEDATA(data, dataName, num, sizeType) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackBasicFixedSet(theGets, data, i, num, sizeType); \
}
#define UNPACKING_BASICARRAY_ATTRIBUTEDATA(data, dataName, sizeType) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackBasicArray(theGets, data, i, sizeType); \
}
#define UNPACKING_STRUCT_ATTRIBUTEDATA(data, dataName) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackStruct(theGets, data, i); \
}
#define UNPACKING_STRUCTFIXEDSET_ATTRIBUTEDATA(data, dataName, num) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackStructFixedSet(theGets, data, i, num); \
}
#define UNPACKING_STRUCTARRAY_ATTRIBUTEDATA(data, dataName) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackStructArray(theGets, data, i); \
}
#define UNPACKING_STRING_ATTRIBUTEDATA(data, dataName) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackString(theGets, data, i); \
}
#define UNPACKING_STRINGFIXEDSET_ATTRIBUTEDATA(data, dataName, num) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackStringFixedSet(theGets, data, i, num); \
}
#define UNPACKING_STRINGARRAY_ATTRIBUTEDATA(data, dataName) \
id = FindAttributeHandle(dataName); \
if(theHandle == id) { \
UnpackStringArray(theGets, data, i); \
}
#define END_UNPACKING_ATTRIBUTES_DATA() \
} \
}
#define BEGIN_PACKING_PARAMETERS_DATA(pParameters) \
{ \
RTI::ParameterHandle theHandle = PARANOHANDLE; \
RTI::ParameterHandleValuePairSet* theAdds = pParameters; \
ASSERT(theAdds != NULL);
#define PACKING_BASIC_PARAMETERDATA(data, dataName, sizeType) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackBasic(theAdds, data, theHandle, sizeType);
#define PACKING_BASICARRAY_PARAMETERDATA(data, dataName, sizeType) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackBasicArray(theAdds, data, theHandle, sizeType);
#define PACKING_BASICFIXEDSET_PARAMETERDATA(data, dataName, num, sizeType) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackBasicFixedSet(theAdds, data, theHandle, num, sizeType);
#define PACKING_STRUCT_PARAMETERDATA(data, dataName) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackStruct(theAdds, data, theHandle);
#define PACKING_STRUCTARRAY_PARAMETERDATA(data, dataName) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackStructArray(theAdds, data, theHandle);
#define PACKING_STRUCTFIXEDSET_PARAMETERDATA(data, dataName, num) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackStructFixedSet(theAdds, data, theHandle, num);
#define PACKING_STRING_PARAMETERDATA(data, dataName) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackString(theAdds, data, theHandle);
#define PACKING_STRINGARRAY_PARAMETERDATA(data, dataName) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackStringArray(theAdds, data, theHandle);
#define PACKING_STRINGFIXEDSET_PARAMETERDATA(data, dataName, num) \
theHandle = FindParameterHandle(dataName); \
ASSERT(theHandle != PARANOHANDLE); \
PackStringFixedSet(theAdds, data, theHandle, num);
#define END_PACKING_PARAMETERS_DATA() \
}
#define BEGIN_UNPACKING_PARAMETERS_DATA(pParameters) \
{ \
RTI::ParameterHandle theHandle = PARANOHANDLE, id = PARANOHANDLE; \
const RTI::ParameterHandleValuePairSet* theGets = pParameters; \
ASSERT(theGets != NULL); \
for (unsigned int i = 0; i < theGets->size(); i++) { \
theHandle = theGets->getHandle(i);
#define UNPACKING_BASIC_PARAMETERDATA(data, dataName) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackBasic(theGets, data, i); \
}
#define UNPACKING_BASICFIXEDSET_PARAMETERDATA(data, dataName, num, sizeType) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackBasicFixedSet(theGets, data, i, num, sizeType); \
}
#define UNPACKING_BASICARRAY_PARAMETERDATA(data, dataName, sizeType) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackBasicArray(theGets, data, i, sizeType); \
}
#define UNPACKING_STRUCT_PARAMETERDATA(data, dataName) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackStruct(theGets, data, i); \
}
#define UNPACKING_STRUCTFIXEDSET_PARAMETERDATA(data, dataName, num) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackStructFixedSet(theGets, data, i, num); \
}
#define UNPACKING_STRUCTARRAY_PARAMETERDATA(data, dataName) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackStructArray(theGets, data, i); \
}
#define UNPACKING_STRING_PARAMETERDATA(data, dataName) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackString(theGets, data, i); \
}
#define UNPACKING_STRINGFIXEDSET_PARAMETERDATA(data, dataName, num) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackStringFixedSet(theGets, data, i, num); \
}
#define UNPACKING_STRINGARRAY_PARAMETERDATA(data, dataName) \
id = FindParameterHandle(dataName); \
if(theHandle == id) { \
UnpackStringArray(theGets, data, i); \
}
#define END_UNPACKING_PARAMETERS_DATA() \
}\
}
#define BEGIN_PACKING_COMPLEX_DATA() \
{ \
unsigned long numOfData = 0; \
unsigned long num = 0; \
char *charbuffer = NULL; \
m_Pack.ClearPack();
#define PACKING_BASIC_COMPLEXDATA(data, sizeType) \
{ \
m_Pack.PackBasicData(&data, sizeType); \
}
#define PACKING_BASICARRAY_COMPLEXDATA(data, sizeType) \
{ \
num = data.size(); \
m_Pack.PackBasicData(&num, sizeof(unsigned long)); \
for(int k = 0; k < num; k++) { \
m_Pack.PackBasicData(&data[k], sizeType); \
} \
}
#define PACKING_BASICFIXEDSET_COMPLEXDATA(data, num, sizeType) \
{ \
for(int k = 0; k < num; k++) { \
m_Pack.PackBasicData(&data[k], sizeType); \
} \
}
#define PACKING_STRUCT_COMPLEXDATA(data) \
{ \
charbuffer = data.PackData(); \
numOfData = data.GetSizeOfData(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)charbuffer, numOfData); \
data.ClearPack(); \
}
#define PACKING_STRUCTARRAY_COMPLEXDATA(data) \
{ \
num = data.size(); \
m_Pack.PackBasicData(&num, sizeof(unsigned long)); \
for(int k = 0; k < num; k++) { \
charbuffer = data[k].PackData(); \
numOfData = data[k].GetSizeOfData(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)charbuffer, numOfData); \
data[k].ClearPack(); \
} \
}
#define PACKING_STRUCTFIXEDSET_COMPLEXDATA(data, num) \
{ \
for(int k = 0; k < num; k++) { \
charbuffer = data[k].PackData(); \
numOfData = data[k].GetSizeOfData(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)charbuffer, numOfData); \
data[k].ClearPack(); \
} \
}
#define PACKING_STRING_COMPLEXDATA(data) \
{ \
numOfData = data.size(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)(data.c_str()), numOfData); \
}
#define PACKING_STRINGARRAY_COMPLEXDATA(data) \
{ \
num = data.size(); \
m_Pack.PackBasicData(&num, sizeof(unsigned long)); \
for(int k = 0; k < num; k++) { \
numOfData = data[k].size(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)(data[k].c_str()), numOfData); \
} \
}
#define PACKING_STRINGFIXEDSET_COMPLEXDATA(data, num) \
{ \
for(int k = 0; k < num; k++) { \
numOfData = data[k].size(); \
m_Pack.PackBasicData(&numOfData, sizeof(unsigned long)); \
m_Pack.PackBasicData((void*)(data[k].c_str()), numOfData); \
} \
}
#define END_PACKING_COMPLEX_DATA() \
m_Pack.SaveDirty(); \
return m_Pack.GetBufData(); \
}
#define BEGIN_UNPACKING_COMPLEX_DATA(pBuffer) \
{ \
unsigned long numOfData = 0; \
unsigned long num = 0; \
char *charbuffer = NULL; \
char *dataBuffer = pBuffer; \
m_Pack.ClearPack();
#define UNPACKING_BASIC_COMPLEXDATA(data, sizeType) \
{ \
m_Pack.UnpackBasicData(dataBuffer, &data, sizeType); \
}
#define UNPACKING_BASICFIXEDSET_COMPLEXDATA(data, num, sizeType) \
{ \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData (dataBuffer, &data[k], sizeType); \
} \
}
#define UNPACKING_BASICARRAY_COMPLEXDATA(data, sizeType) \
{ \
m_Pack.UnpackBasicData (dataBuffer, &num, sizeof(unsigned long)); \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData (dataBuffer, &data[k], sizeType); \
} \
}
#define UNPACKING_STRUCT_COMPLEXDATA(data) \
{ \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char[numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data.UnpackData(charbuffer); \
delete[] charbuffer; \
charbuffer = NULL; \
}
#define UNPACKING_STRUCTFIXEDSET_COMPLEXDATA(data, num) \
{ \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char[numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data[k].UnpackData(charbuffer); \
delete[] charbuffer; \
charbuffer = NULL; \
} \
}
#define UNPACKING_STRUCTARRAY_COMPLEXDATA(data) \
{ \
m_Pack.UnpackBasicData(dataBuffer, &num, sizeof(unsigned long)); \
data.clear(); \
data.resize(num); \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char[numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data[k].UnpackData(charbuffer); \
delete[] charbuffer; \
charbuffer = NULL; \
} \
}
#define UNPACKING_STRING_COMPLEXDATA(data) \
{ \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char [numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data = charbuffer; \
delete[] charbuffer; \
charbuffer = NULL; \
}
#define UNPACKING_STRINGFIXEDSET_COMPLEXDATA(data, num) \
{ \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char[numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data[k] = charbuffer; \
delete[] charbuffer; \
charbuffer = NULL; \
} \
}
#define UNPACKING_STRINGARRAY_COMPLEXDATA(data) \
{ \
m_Pack.UnpackBasicData(dataBuffer, &num, sizeof(unsigned long)); \
data.clear(); \
data.resize(num); \
for(int k = 0; k < num; k++) { \
m_Pack.UnpackBasicData(dataBuffer, &numOfData, sizeof(unsigned long)); \
charbuffer = new char [numOfData + 1]; \
memset(charbuffer, 0, numOfData + 1); \
m_Pack.UnpackBasicData(dataBuffer, (void*)(charbuffer), numOfData); \
data[k] = charbuffer; \
delete[] charbuffer; \
charbuffer = NULL; \
} \
}
#define END_UNPACKING_COMPLEX_DATA() \
}
//}}FW_DATA_PACKING_END
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -