43#ifndef DIAGNOSTICS_INTERNAL_H
44#define DIAGNOSTICS_INTERNAL_H
53 DiagItemClass *m_pNext;
54 virtual void ServeContent(
int fd) = 0;
55 void ServeSubContent(
int fd,
NBString & remainder);
56 static void ServerRoot(
int fd,
const char *pUrl);
61 static void ServeBody(
int fd);
62 DiagItemClass(
const char *name);
82 virtual void ServeContent(
int fd) { m_pF(fd); }
116 DiagVarMon(
const char *name, uint32_t &v) : DiagItemClass(name)
128 DiagVarMon(
const char *name, uint8_t &v) : DiagItemClass(name)
134 DiagVarMon(
const char *name, int32_t &v) : DiagItemClass(name)
140 DiagVarMon(
const char *name, int16_t &v) : DiagItemClass(name)
146 DiagVarMon(
const char *name, int8_t &v) : DiagItemClass(name)
152 DiagVarMon(
const char *name,
char &v) : DiagItemClass(name)
158 DiagVarMon(
const char *name,
int &v) : DiagItemClass(name)
164 DiagVarMon(
const char *name,
volatile uint32_t &v) : DiagItemClass(name)
170 DiagVarMon(
const char *name,
volatile uint16_t &v) : DiagItemClass(name)
176 DiagVarMon(
const char *name,
volatile uint8_t &v) : DiagItemClass(name)
182 DiagVarMon(
const char *name,
volatile int32_t &v) : DiagItemClass(name)
188 DiagVarMon(
const char *name,
volatile int16_t &v) : DiagItemClass(name)
194 DiagVarMon(
const char *name,
volatile int8_t &v) : DiagItemClass(name)
200 DiagVarMon(
const char *name,
volatile char &v) : DiagItemClass(name)
206 DiagVarMon(
const char *name,
volatile int &v) : DiagItemClass(name)
212 DiagVarMon(
const char *name,
volatile float &v) : DiagItemClass(name)
218 DiagVarMon(
const char *name,
volatile double &v) : DiagItemClass(name)
224 DiagVarMon(
const char *name,
float &v) : DiagItemClass(name)
230 DiagVarMon(
const char *name,
double &v) : DiagItemClass(name)
244 volatile const char *pString;
254 DiagStrMon(
const char *name,
const char *pstr) : DiagItemClass(name) { pString = pstr; pStrStr=0;};
281 DiagPtrMon(
const char *name,
void *p) : DiagItemClass(name) { pPtr = p; };
304bool SendDiagReport(
const char * pUrl,
const char *pUser = 0,
const char *pPass = 0);
DiagCallBack(const char *name, diagcallback *pFunc)
Constructor for callback-based diagnostic item.
Definition diagnostics.h:90
Base class for all diagnostic items.
Definition diagnostics.h:50
DiagPtrMon(const char *name, void *p)
Constructor for monitoring pointer values.
Definition diagnostics.h:281
virtual void ServeContent(int fd)
Output the pointer value as a hexadecimal string.
virtual void ServeContent(int fd)
Output the string value to the diagnostic stream.
DiagStrMon(const char *name, NBString &s)
Constructor for monitoring NBString object.
Definition diagnostics.h:262
DiagStrMon(const char *name, const char *pstr)
Constructor for monitoring C-style string.
Definition diagnostics.h:254
virtual void ServeContent(int fd)
Pure virtual function to output diagnostic content.
DiagVarMon(const char *name, uint32_t &v)
Constructor for monitoring numeric variables.
Definition diagnostics.h:116
Lightweight alternative to C++ CString class.
Definition nbstring.h:118
Parsed Uniform Resource Identifier Class (URI).
Definition http_funcs.h:62
bool SendDiagReport(const char *pUrl, const char *pUser=0, const char *pPass=0)
Send the complete diagnostic report to an external URL via HTTP POST.
void diagcallback(int sock)
Callback function type for custom diagnostic reports.
Definition diagnostics.h:75
void InitPlatformDiag()
Initialize platform-specific diagnostics.