cc_tools_qt
Common Environment for Protocol Analysis.
Loading...
Searching...
No Matches
DataInfo.h
1//
2// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
3//
4
5// This file is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18
19#pragma once
20
21#include <chrono>
22#include <vector>
23#include <string>
24#include <memory>
25
26#include <QtCore/QVariant>
27#include <QtCore/QVariantMap>
28
29#include "Api.h"
30
31namespace cc_tools_qt
32{
33
37{
39 using TimestampClock = std::chrono::high_resolution_clock;
40
42 using Timestamp = std::chrono::time_point<TimestampClock>;
43
45 using DataSeq = std::vector<std::uint8_t>;
46
48 using PropertiesMap = QVariantMap;
49
54};
55
57using DataInfoPtr = std::shared_ptr<DataInfo>;
58
61
65
66} // namespace cc_tools_qt
67
68Q_DECLARE_METATYPE(cc_tools_qt::DataInfoPtr);
69
70
Main namespace for all classes / functions of the shared library.
CC_API DataInfoPtr makeDataInfoTimed()
Dynamically allocate DataInfo and return in in DataInfoPtr;.
std::shared_ptr< DataInfo > DataInfoPtr
Pointer to DataInfo.
Definition DataInfo.h:57
CC_API DataInfoPtr makeDataInfo()
Dynamically allocate DataInfo and return in in DataInfoPtr;.
Information about incomming or outdoing data.
Definition DataInfo.h:37
Timestamp m_timestamp
Timestamp when data has been received / sent.
Definition DataInfo.h:50
std::chrono::time_point< TimestampClock > Timestamp
Type of timestamps.
Definition DataInfo.h:42
std::vector< std::uint8_t > DataSeq
Type of raw data sequence.
Definition DataInfo.h:45
PropertiesMap m_extraProperties
Definition DataInfo.h:52
std::chrono::high_resolution_clock TimestampClock
Type of clock used for timestamping.
Definition DataInfo.h:39
DataSeq m_data
Actual raw data.
Definition DataInfo.h:51
QVariantMap PropertiesMap
Type of extra properties storage.
Definition DataInfo.h:48