-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathMonitoringFactory.h
More file actions
40 lines (32 loc) · 1.06 KB
/
MonitoringFactory.h
File metadata and controls
40 lines (32 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
///
/// \file MonitoringFactory.h
/// \author Adam Wegrzynek <adam.wegrzynek@cern.ch>
///
#ifndef ALICEO2_MONITORING_FACTORY_H
#define ALICEO2_MONITORING_FACTORY_H
#include "Monitoring/Monitoring.h"
namespace o2
{
/// ALICE O2 Monitoring system
namespace monitoring
{
/// \brief Monitoring and monitoring backends factory
class MonitoringFactory
{
public:
/// Disables copy constructor
MonitoringFactory & operator=(const MonitoringFactory&) = delete;
MonitoringFactory(const MonitoringFactory&) = delete;
/// Provides single instance on Monitoring Monitoring (singleton)
/// \return renerence to Monitoring instance
static std::unique_ptr<Monitoring> Get(std::string urlsString);
/// Provides a Monitoring backend based on the URL
/// \return monitoring backend
static std::unique_ptr<Backend> GetBackend(std::string& url);
private:
/// Private constructor disallows to create instance of Factory
MonitoringFactory() = default;
};
} // namespace monitoring
} // namespace o2
#endif // ALICEO2_MONITORING_FACTORY_H