replace typedef function ptr by std::function

start PIMap refactoring
This commit is contained in:
Бычков Андрей
2022-07-29 15:49:36 +03:00
parent 38fd1b5dc4
commit 4725eb96d6
9 changed files with 65 additions and 87 deletions

View File

@@ -4,22 +4,21 @@ using namespace PICoutManipulators;
int main(int argc, char * argv[]) {
PIByteArray ba = PIByteArray::fromHex("AA11FFAA22EEAA33FF");
PIByteArray ba = PIByteArray::fromHex("AA1122BB11233AA4455");
PIIOByteArray b;
b.open(ba);
PIPacketExtractor p(&b);
p.setSplitMode(PIPacketExtractor::Header);
p.setHeader(PIByteArray::fromHex("AABB"));
// p.setFooter(PIByteArray::fromHex("AA"));
p.setHeader(PIByteArray::fromHex("00"));
p.setFooter(PIByteArray::fromHex("AA"));
p.setPayloadSize(2);
p.setThreadedReadSlot([](const uchar * data, int size, void * d) {
piCout << size;
return true;
});
p.setHeaderCheckSlot([](const uchar * src, const uchar * rec, int size) {
p.setHeaderCheckSlot([](const uchar * src, const uchar * rec, int size)->int {
if (*src == *rec) {
if (rec[1] == 0x11) return 1;
if (rec[1] == 0x22) return 3;
if (rec[0] == 0xAA) return 2;
if (rec[0] == 0xBB) return 3;
}
return -1;
});