Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
9.2.2023: Due to updates GitLab will be unavailable for some minutes between 9:00 and 11:00.
Open sidebar
dcdb
dcdb
Commits
7c2c345a
Commit
7c2c345a
authored
Jun 04, 2019
by
Micha Mueller
Browse files
pusher: add doxygen code to generate useful HTML documentation structure
parent
5f872595
Changes
49
Hide whitespace changes
Inline
Side-by-side
dcdbpusher/Configuration.h
View file @
7c2c345a
...
...
@@ -36,6 +36,11 @@
#define BROKERPORT 1883
#define BROKERHOST "127.0.0.1"
/**
* @brief Class responsible for reading dcdb-pusher specific configuration.
*
* @ingroup pusher
*/
class
Configuration
:
public
GlobalConfiguration
{
public:
...
...
dcdbpusher/MQTTPusher.h
View file @
7c2c345a
...
...
@@ -38,6 +38,11 @@
enum
msgCap_t
{
DISABLED
=
1
,
ENABLED
=
2
,
MINIMUM
=
3
};
/**
* @brief Collects values from the sensors and pushes them to the database.
*
* @ingroup pusher
*/
class
MQTTPusher
{
public:
MQTTPusher
(
int
brokerPort
,
const
std
::
string
&
brokerHost
,
const
std
::
string
&
sensorPattern
,
int
qosLevel
,
...
...
dcdbpusher/PluginManager.h
View file @
7c2c345a
...
...
@@ -49,6 +49,7 @@ using pusherPluginStorage_t = std::vector<pusherPlugin_t>;
/**
* @brief This class is responsible of managing plugins for dcdbpusher.
*
* @ingroup pusher
*/
class
PluginManager
{
...
...
dcdbpusher/RestAPI.h
View file @
7c2c345a
...
...
@@ -36,6 +36,11 @@
#include
"MQTTPusher.h"
#include
"PluginManager.h"
/**
* @brief Class providing a RESTful API to pusher via network (HTTPs only).
*
* @ingroup pusher
*/
class
RestAPI
:
public
RESTHttpsServer
{
public:
RestAPI
(
serverSettings_t
settings
,
...
...
dcdbpusher/dcdbpusher.cpp
View file @
7c2c345a
...
...
@@ -24,6 +24,22 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//================================================================================
/**
* @defgroup pusher Pusher
*
* Pusher is the DCDB building block responsible for gathering data from
* hard-/software and pushing the values to the collect agent. The data
* collection capabilities of pusher stem from its plugins.
*/
/**
* @file dcdbpusher.cpp
*
* @brief Main function for the DCDB MQTT Pusher.
*
* @ingroup pusher
*/
#include
<dcdbdaemon.h>
#include
<functional>
#include
<string>
...
...
dcdbpusher/includes/ConfiguratorInterface.h
View file @
7c2c345a
...
...
@@ -33,6 +33,11 @@
#include
"globalconfiguration.h"
#include
"SensorGroupTemplate.h"
/**
* @brief Abstract interface defining plugin configurator functionality.
*
* @ingroup pusherplugins
*/
class
ConfiguratorInterface
{
public:
...
...
dcdbpusher/includes/ConfiguratorTemplate.h
View file @
7c2c345a
...
...
@@ -54,6 +54,11 @@
#define DEFAULT_CACHE_INTERVAL 900000
/**
* @brief Interface template for plugin configurator implementations.
*
* @ingroup pusherplugins
*/
template
<
class
SBase
,
class
SGroup
,
class
SEntity
=
nullptr_t
>
class
ConfiguratorTemplate
:
public
ConfiguratorInterface
{
//the template shall only be instantiated for classes which derive from SensorBase/SensorGroup
...
...
dcdbpusher/includes/SensorGroupInterface.h
View file @
7c2c345a
...
...
@@ -24,6 +24,14 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//================================================================================
/**
* @defgroup pusherplugins Pusher Plugins
* @ingroup pusher
*
* @brief Collection of plugin interfaces, plugin templates summarizing common logic
* and the plugins itself.
*/
#ifndef SENSORGROUPINTERFACE_H_
#define SENSORGROUPINTERFACE_H_
...
...
@@ -34,6 +42,11 @@
#include
"logging.h"
#include
"sensorbase.h"
/**
* @brief Abstract interface defining sensor group functionality.
*
* @ingroup pusherplugins
*/
class
SensorGroupInterface
{
public:
...
...
dcdbpusher/includes/SensorGroupTemplate.h
View file @
7c2c345a
...
...
@@ -34,6 +34,11 @@
#include
<vector>
#include
<memory>
/**
* @brief Interface template for sensor group implementations.
*
* @ingroup pusherplugins
*/
template
<
typename
S
>
class
SensorGroupTemplate
:
public
SensorGroupInterface
{
//the template shall only be instantiated for classes which derive from SensorBase
...
...
dcdbpusher/sensors/bacnet/BACnetClient.h
View file @
7c2c345a
...
...
@@ -39,6 +39,11 @@
* This should be no problem as we are using only one instance of BACnetClient with serialized access (_strand).
* One should ensure to keep the single instance property in the future.
*/
/**
* @brief Client to handle BACnet protocol communication. Only one instance allowed!
*
* @ingroup bacnet
*/
class
BACnetClient
{
public:
BACnetClient
();
...
...
dcdbpusher/sensors/bacnet/BACnetConfigurator.h
View file @
7c2c345a
...
...
@@ -32,6 +32,11 @@
#include
"BACnetClient.h"
#include
"BACnetSensorGroup.h"
/**
* @brief ConfiguratorTemplate specialization for this plugin.
*
* @ingroup bacnet
*/
class
BACnetConfigurator
:
public
ConfiguratorTemplate
<
BACnetSensorBase
,
BACnetSensorGroup
>
{
public:
...
...
dcdbpusher/sensors/bacnet/BACnetSensorBase.h
View file @
7c2c345a
...
...
@@ -24,6 +24,13 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//================================================================================
/**
* @defgroup bacnet BACnet plugin
* @ingroup pusherplugins
*
* @brief Collect data from devices via the BACnet protocol.
*/
#ifndef SRC_SENSORS_BACNET_BACNETSENSORBASE_H_
#define SRC_SENSORS_BACNET_BACNETSENSORBASE_H_
...
...
@@ -33,6 +40,11 @@
#include
"bacenum.h"
/**
* @brief SensorBase specialization for this plugin.
*
* @ingroup bacnet
*/
class
BACnetSensorBase
:
public
SensorBase
{
public:
BACnetSensorBase
(
const
std
::
string
&
name
)
:
...
...
dcdbpusher/sensors/bacnet/BACnetSensorGroup.h
View file @
7c2c345a
...
...
@@ -32,6 +32,11 @@
using
BACnetClientPtr
=
std
::
shared_ptr
<
BACnetClient
>
;
/**
* @brief SensorGroupTemplate specialization for this plugin.
*
* @ingroup bacnet
*/
class
BACnetSensorGroup
:
public
SensorGroupTemplate
<
BACnetSensorBase
>
{
public:
...
...
dcdbpusher/sensors/gpfsmon/GpfsmonConfigurator.h
View file @
7c2c345a
...
...
@@ -30,6 +30,11 @@
#include
"../../includes/ConfiguratorTemplate.h"
#include
"GpfsmonSensorGroup.h"
/**
* @brief ConfiguratorTemplate specialization for this plugin.
*
* @ingroup gpfsmon
*/
class
GpfsmonConfigurator
:
public
ConfiguratorTemplate
<
GpfsmonSensorBase
,
GpfsmonSensorGroup
>
{
public:
...
...
dcdbpusher/sensors/gpfsmon/GpfsmonSensorBase.h
View file @
7c2c345a
...
...
@@ -24,6 +24,13 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//================================================================================
/**
* @defgroup gpfsmon Gpfsmon plugin
* @ingroup pusherplugins
*
* @brief
*/
#ifndef GPFSMON_GPFSMONSENSORBASE_H_
#define GPFSMON_GPFSMONSENSORBASE_H_
...
...
@@ -45,6 +52,11 @@
SIZE
=
INODE_UPDATES
+
1
};
/**
* @brief SensorBase specialization for this plugin.
*
* @ingroup gpfsmon
*/
class
GpfsmonSensorBase
:
public
SensorBase
{
public:
GpfsmonSensorBase
(
const
std
::
string
&
name
)
:
...
...
dcdbpusher/sensors/gpfsmon/GpfsmonSensorGroup.h
View file @
7c2c345a
...
...
@@ -33,6 +33,11 @@
using
Gpfs_SB
=
std
::
shared_ptr
<
GpfsmonSensorBase
>
;
/**
* @brief SensorGroupTemplate specialization for this plugin.
*
* @ingroup gpfsmon
*/
class
GpfsmonSensorGroup
:
public
SensorGroupTemplate
<
GpfsmonSensorBase
>
{
public:
GpfsmonSensorGroup
(
const
std
::
string
&
name
);
...
...
dcdbpusher/sensors/ipmi/IPMIConfigurator.h
View file @
7c2c345a
...
...
@@ -32,6 +32,11 @@
#include
"IPMIHost.h"
#include
"IPMISensorGroup.h"
/**
* @brief ConfiguratorTemplate specialization for this plugin.
*
* @ingroup ipmi
*/
class
IPMIConfigurator
:
public
ConfiguratorTemplate
<
IPMISensorBase
,
IPMISensorGroup
,
IPMIHost
>
{
typedef
struct
{
...
...
dcdbpusher/sensors/ipmi/IPMIHost.h
View file @
7c2c345a
...
...
@@ -33,6 +33,11 @@
#include
<boost/asio.hpp>
#include
"logging.h"
/**
* @brief Handles all connections to the same IPMI host.
*
* @ingroup ipmi
*/
class
IPMIHost
{
public:
IPMIHost
();
...
...
dcdbpusher/sensors/ipmi/IPMISensorBase.h
View file @
7c2c345a
...
...
@@ -24,6 +24,13 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//================================================================================
/**
* @defgroup ipmi IPMI plugin
* @ingroup pusherplugins
*
* @brief Collect data from devices via the IPMI protocol.
*/
#ifndef SRC_SENSORS_IPMI_IPMISENSORBASE_H_
#define SRC_SENSORS_IPMI_IPMISENSORBASE_H_
...
...
@@ -36,6 +43,11 @@
#include
<vector>
#include
<sstream>
/**
* @brief SensorBase specialization for this plugin.
*
* @ingroup ipmi
*/
class
IPMISensorBase
:
public
SensorBase
{
public:
IPMISensorBase
(
const
std
::
string
&
name
)
:
...
...
dcdbpusher/sensors/ipmi/IPMISensorGroup.h
View file @
7c2c345a
...
...
@@ -30,6 +30,11 @@
#include
"IPMISensorBase.h"
#include
"../../includes/SensorGroupTemplate.h"
/**
* @brief SensorGroupTemplate specialization for this plugin.
*
* @ingroup ipmi
*/
class
IPMISensorGroup
:
public
SensorGroupTemplate
<
IPMISensorBase
>
{
public:
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment