AlarmNotifications
PANDA Slow Control Alarm Daemon
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
alarmconfiguration.h
Go to the documentation of this file.
1 
34 #ifndef ALARMCONFIGURATION_H
35 #define ALARMCONFIGURATION_H
36 
37 #include "oldgcccompat.h" // Compatibilty macros for GCC < 4.7
38 
39 #include <deque>
40 #include <vector>
41 #include <QtCore/QString>
42 #include <KDE/KSharedConfig>
43 #include <KDE/KConfigGroup>
44 #include <KDE/KConfigSkeleton>
45 
46 namespace AlarmNotifications
47 {
48 
59 {
60 private:
66  const std::string _configfilelocation;
72  KSharedConfigPtr _backend;
78  KConfigSkeleton _skeleton;
86  QString _activemquri;
162  KConfigSkeleton::ItemString* _activemquriitem;
168  KConfigSkeleton::ItemString* _activemqusernameitem;
174  KConfigSkeleton::ItemString* _activemqpassworditem;
180  KConfigSkeleton::ItemString* _activemqtopicnameitem;
186  KConfigSkeleton::ItemUInt* _laboratorynotificationtimeoutitem;
192  KConfigSkeleton::ItemUInt* _desktopnotificationtimeoutitem;
198  KConfigSkeleton::ItemUInt* _emailnotificationtimeoutitem;
204  KConfigSkeleton::ItemString* _emailnotificationfromitem;
210  KConfigSkeleton::ItemString* _emailnotificationtoitem;
216  KConfigSkeleton::ItemString* _emailnotificationservernameitem;
222  KConfigSkeleton::ItemUInt* _emailnotificationserverportitem;
228  KConfigSkeleton::ItemString* _flashlightrelaisdevicenodeitem;
238  static std::string CreateConfigFileLocation();
253 public:
267  AlarmConfiguration ( const AlarmConfiguration& other ) = delete;
274  AlarmConfiguration ( AlarmConfiguration&& other ) = delete;
288  AlarmConfiguration& operator= ( const AlarmConfiguration& other ) = delete;
296  AlarmConfiguration& operator= ( AlarmConfiguration&& other ) = delete;
303  const std::string& getConfigFileLocation() const noexcept;
310  void ReReadConfiguration();
317  void WriteConfiguration();
326  std::string getActiveMQURI() const noexcept;
334  void setActiveMQURI ( const std::string& newSetting );
343  std::string getActiveMQUsername() const noexcept;
351  void setActiveMQUsername ( const std::string& newSetting );
360  std::string getActiveMQPassword() const noexcept;
368  void setActiveMQPassword ( const std::string& newSetting );
377  std::string getActiveMQTopicName() const noexcept;
385  void setActiveMQTopicName ( const std::string& newSetting );
394  unsigned int getLaboratoryNotificationTimeout() const noexcept;
402  void setLaboratoryNotificationTimeout ( const unsigned int newSetting );
411  unsigned int getDesktopNotificationTimeout() const noexcept;
419  void setDesktopNotificationTimeout ( const unsigned int newSetting );
428  unsigned int getEMailNotificationTimeout() const noexcept;
436  void setEMailNotificationTimeout ( const unsigned int newSetting );
445  std::string getEMailNotificationFrom() const noexcept;
453  void setEMailNotificationFrom ( const std::string& newSetting );
462  std::string getEMailNotificationTo() const noexcept;
470  void setEMailNotificationTo ( const std::string& newSetting );
479  std::string getEMailNotificationServerName() const noexcept;
487  void setEMailNotificationServerName ( const std::string& newSetting );
496  unsigned int getEMailNotificationServerPort() const noexcept;
504  void setEMailNotificationServerPort ( const unsigned int newSetting );
513  std::string getFlashLightRelaisDeviceNode() const noexcept;
521  void setFlashLightRelaisDevideNode ( const std::string& newSetting );
530  KSharedConfigPtr internal();
539  KConfigSkeleton* internal_skel();
540 };
541 
542 }
543 
544 #endif // ALARMCONFIGURATION_H