GCC Code Coverage Report


Directory: ./
File: pdserv/src/msrproto/Variable.h
Date: 2025-08-17 04:10:43
Exec Total Coverage
Lines: 1 1 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /*****************************************************************************
2 *
3 * Copyright 2010 Richard Hacker (lerichi at gmx dot net)
4 *
5 * This file is part of the pdserv library.
6 *
7 * The pdserv library is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published
9 * by the Free Software Foundation, either version 3 of the License, or (at
10 * your option) any later version.
11 *
12 * The pdserv library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with the pdserv library. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ****************************************************************************/
21
22 #ifndef MSRVARIABLE_H
23 #define MSRVARIABLE_H
24
25 #include "../Variable.h"
26 #include "DirectoryNode.h"
27
28 namespace PdServ {
29 class Variable;
30 }
31
32 namespace MsrProto {
33
34 class XmlElement;
35
36 5236 class Variable: public DirectoryNode {
37 public:
38 Variable(const PdServ::Variable *v, size_t index,
39 const PdServ::DataType& dtype,
40 const PdServ::DataType::DimType& dim, size_t offset);
41
42 const PdServ::Variable * const variable;
43
44 const size_t index;
45 const PdServ::DataType& dtype;
46 const PdServ::DataType::DimType dim;
47 const size_t offset;
48 const size_t memSize;
49 bool hidden;
50
51 void setAttributes(XmlElement &element,
52 bool shortReply, bool derived) const;
53 void addCompoundFields(XmlElement &element,
54 const PdServ::DataType& ) const;
55
56 bool hasChildren(const Variable*) const;
57
58 private:
59 void setDataType(XmlElement &element, const PdServ::DataType& dtype,
60 const PdServ::DataType::DimType& dim) const;
61 };
62
63 }
64
65 #endif //MSRVARIABLE_H
66