IPMISensorGroup.h 1.97 KB
Newer Older
1
2
3
//================================================================================
// Name        : IPMISensorGroup.h
// Author      : Michael Ott, Micha Mueller
Micha Müller's avatar
Micha Müller committed
4
// Contact     : info@dcdb.it
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright   : Leibniz Supercomputing Centre
// Description : Header file for IPMI sensor group class.
//================================================================================

//================================================================================
// This file is part of DCDB (DataCenter DataBase)
// Copyright (C) 2017-2019 Leibniz Supercomputing Centre
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
//================================================================================
27
28

#ifndef IPMISENSORGROUP_H_
29
#define IPMISENSORGROUP_H_
30
31
32
33

#include "IPMISensorBase.h"
#include "../../includes/SensorGroupTemplate.h"

34
35
36
37
38
/**
 * @brief SensorGroupTemplate specialization for this plugin.
 *
 * @ingroup ipmi
 */
39
class IPMISensorGroup: public SensorGroupTemplate<IPMISensorBase, IPMIHost> {
40
41
42

public:
	IPMISensorGroup(const std::string& name);
43
	IPMISensorGroup(const IPMISensorGroup& other);
44
	virtual ~IPMISensorGroup();
45
	IPMISensorGroup& operator=(const IPMISensorGroup& other);
46
47

private:
48
	void read()	final override;
49
	uint64_t readRaw(const std::vector<uint8_t>& rawCmd, uint8_t lsb, uint8_t msb);
50
51
52
};

#endif /* IPMISENSORGROUP_H_ */