HAL
channel_item.h
Go to the documentation of this file.
1
// MIT License
2
//
3
// Copyright (c) 2019 Ruhr University Bochum, Chair for Embedded Security. All Rights reserved.
4
// Copyright (c) 2019 Marc Fyrbiak, Sebastian Wallat, Max Hoffmann ("ORIGINAL AUTHORS"). All rights reserved.
5
// Copyright (c) 2021 Max Planck Institute for Security and Privacy. All Rights reserved.
6
// Copyright (c) 2021 Jörn Langheinrich, Julian Speith, Nils Albartus, René Walendy, Simon Klix ("ORIGINAL AUTHORS"). All Rights reserved.
7
//
8
// Permission is hereby granted, free of charge, to any person obtaining a copy
9
// of this software and associated documentation files (the "Software"), to deal
10
// in the Software without restriction, including without limitation the rights
11
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
// copies of the Software, and to permit persons to whom the Software is
13
// furnished to do so, subject to the following conditions:
14
//
15
// The above copyright notice and this permission notice shall be included in all
16
// copies or substantial portions of the Software.
17
//
18
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
// SOFTWARE.
25
26
#pragma once
27
28
#include "
hal_core/utilities/log.h
"
29
30
#include <QList>
31
#include <QReadWriteLock>
32
#include <QString>
33
#include <QVariant>
34
35
namespace
hal
36
{
43
struct
ChannelEntry
44
{
51
ChannelEntry
(std::string msg, spdlog::level::level_enum msg_type) :
mMsg
(msg),
mMsgType
(msg_type)
52
{
53
}
54
55
const
std::string
mMsg
;
56
const
spdlog::level::level_enum
mMsgType
;
57
};
58
59
static
const
int
sMaxEntries = 1000;
60
66
class
ChannelItem
67
{
68
public
:
73
ChannelItem
(
QString
name
);
74
80
const
QString
name
()
const
;
81
87
const
QList<ChannelEntry*>
*
getEntries
()
const
;
88
94
QReadWriteLock
*
getLock
();
95
102
void
appendEntry
(
ChannelEntry
* entry);
103
104
private
:
105
const
QString
mName;
106
QList<ChannelEntry*>
mLogEntries;
107
QReadWriteLock
mLock;
108
109
int
mObserver;
110
int
mUnread;
111
int
mUnreadWarnings;
112
int
mUnreadErrors;
113
int
mUnreadSuccesses;
114
};
115
116
}
hal::ChannelItem
This class represents a channel in the channel model. It primarily holds the channel name and its ent...
Definition:
channel_item.h:67
hal::ChannelItem::appendEntry
void appendEntry(ChannelEntry *entry)
Definition:
channel_item.cpp:27
hal::ChannelItem::name
const QString name() const
Definition:
channel_item.cpp:12
hal::ChannelItem::getEntries
const QList< ChannelEntry * > * getEntries() const
Definition:
channel_item.cpp:17
hal::ChannelItem::getLock
QReadWriteLock * getLock()
Definition:
channel_item.cpp:22
hal::ChannelItem::ChannelItem
ChannelItem(QString name)
Definition:
channel_item.cpp:7
log.h
hal
Definition:
parser_liberty.cpp:10
QList
QReadWriteLock
QString
hal::ChannelEntry
The ChannelEntry struct is used by the ChannelItem class to store a single entry.
Definition:
channel_item.h:44
hal::ChannelEntry::mMsgType
const spdlog::level::level_enum mMsgType
Definition:
channel_item.h:56
hal::ChannelEntry::ChannelEntry
ChannelEntry(std::string msg, spdlog::level::level_enum msg_type)
Definition:
channel_item.h:51
hal::ChannelEntry::mMsg
const std::string mMsg
Definition:
channel_item.h:55
plugins
gui
include
gui
channel_manager
channel_item.h
Generated on Fri Feb 14 2025 14:22:41 for HAL by
1.9.1