5 #ifndef __NDMC_CLIENT_H_ 6 #define __NDMC_CLIENT_H_ 10 #include <sys/times.h> 11 #include "boost/thread.hpp" 12 #include "NovaDAQMonitorClient/Ndmc.h" 13 #include "NovaDAQMonitorClient/NdmcMetricABC.h" 14 #include "NovaDAQMonitorClient/NdmcMetric.h" 15 #include "NovaDAQUtilities/Runnable.h" 35 friend class ::NdmcClientTest;
41 uint32_t sendTimeInterval=15);
114 boost::mutex::scoped_lock lock(
_mutex);
121 tmax, dmax, GANGLIA_SLOPE_BOTH,
127 if ( metricID < 0 ) {
128 delete metric; metric = 0;
147 int32_t metricID = createMetric<T>(metricName,units,metricType,
title,
description);
166 boost::mutex::scoped_lock lock(
_mutex);
170 ::mf::LogWarning(
"NdmcClient") <<
"NdmcClient::setValue - failed. No metric of id " 171 << metricID <<
" of type " <<
typeid(
T).
name() <<
"." 194 boost::mutex::scoped_lock lock(
_mutex);
197 ::mf::LogWarning(
"NdmcClient") <<
"NdmcClient::setValue - failed. Passed NULL metric ptr." 202 return metric ->
setValue(value, weight, npar, par);
216 boost::mutex::scoped_lock lock(
_mutex);
220 ::mf::LogWarning(
"NdmcClient") <<
"NdmcClient::getLastValueSent - failed. No metric of id " 221 << metricID <<
" of type " <<
typeid(
T).
name() <<
"." 241 boost::mutex::scoped_lock lock(
_mutex);
245 <<
" Passed NULL metric ptr." <<
std::endl;
NdmcMetricABC * _getMetric(int32_t metricId) const
uint32_t _sendTimeInterval
int32_t _adoptMetric(NdmcMetricABC *metric)
std::string _applicationName
NdmcClient(int32_t partition=-1, std::string appName="", std::string groupName="", uint32_t sendTimeInterval=15)
void setSendTimeInterval(uint32_t sendTimeInterval)
#define NDMC_NAMESPACE_BEGIN
void setGroupName(std::string groupName)
bool setValue(int32_t metricId, T value, double weight=1., int npar=0, double *par=0)
std::map< int32_t, NdmcMetricABC * > _metricMap
enum MetricType MetricType_t
#define NDMC_NAMESPACE_END
int32_t createMetric(std::string metricName, std::string units, MetricType_t metricType=VALUE, std::string title="", std::string description="")
const XML_Char int const XML_Char * value
void destroyMetric(int32_t metricID)
std::string _userGroupName
uint32_t getSendTimeInterval() const
bool getLastValueSent(int32_t metricId, T &lastValueSent)
void setApplicationName(std::string appName)
bool setPartition(int32_t partition)
int32_t getPartition() const
std::string getApplicationName() const
std::string getGroupName() const
boost::thread * _clientThread