source: Evidence/Evidence.h @ 154

Last change on this file since 154 was 154, checked in by ogrimm, 11 years ago
Updates to status service
File size: 1.2 KB
Line 
1#ifndef EVIDENCE_H_SEEN
2#define EVIDENCE_H_SEEN
3
4#include <stdio.h>
5#include <stdarg.h>
6#include <string>
7#include <errno.h>
8#include <exception>
9#include <vector>
10
11#include "dis.hxx"
12#include "dic.hxx"
13
14#define NO_LINK (char *) "__&DIM&NOLINK&__" // Data if no link available
15#define STATUS_SIZE 1000                                        // Bytes for status service string
16
17using namespace std;
18
19// Declaration of item for history buffer (see DColl.cc)
20struct EvidenceHistoryItem {
21  int Seconds;
22  double Value;
23} __attribute__((__packed__));
24
25// Class declation of Evidence server
26class EvidenceServer: public DimServer {
27
28  private:
29        struct ConfigItem {
30          char *Name;
31          char *Value;
32          int Time;
33        };
34        vector<struct ConfigItem> ConfigList;
35
36    DimService *Status;
37
38    static void SignalHandler(int); // static for signal()
39    static void Terminate();            // static for set_terminate()
40        void errorHandler(int, int, char *);
41        void exitHandler(int);
42       
43  public:
44    EvidenceServer(const char *);
45        ~EvidenceServer();
46       
47        enum StateType {INFO=0, WARN=1, ERROR=2, FATAL=3};
48
49        void State(StateType, const char *, ...);
50        char* GetConfig(const char *, const char * = NULL);
51        static char* ToString(DimInfo *);
52
53    bool ExitRequest;
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.