rllib  1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Enumerations | Functions | Variables
rlevent.h File Reference
#include "rldefine.h"
Include dependency graph for rlevent.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define rlMAX_EVENT   256
 
#define rlEvent   rlSetEventLocation(__FILE__,__LINE__);rlEventPrintf
 

Enumerations

enum  EventTypes {
  rlInfo = 0, rlWarning, rlError, rlCritical,
  rlFatal, rlTest, rlEVENT_SIZE
}
 

Functions

void rlEventInit (int ac, char **av, const char *module)
 
void rlSetEventLocation (const char *file, int line)
 
void rlEventPrintf (int event_type, const char *format,...)
 

Variables

static const char rlevent_name [][4] = { "INF", "WAR", "ERR", "CRI", "FAT", "TST" }
 

Macro Definition Documentation

#define rlEvent   rlSetEventLocation(__FILE__,__LINE__);rlEventPrintf

Definition at line 43 of file rlevent.h.

#define rlMAX_EVENT   256
These functions allow you to send event log messages over TCP/IP to the event log server
implemented by the pvserver pcontrol (available as separate download)
See also the class rlEventLogServer.

Definition at line 26 of file rlevent.h.

Enumeration Type Documentation

enum EventTypes
Enumerator:
rlInfo 
rlWarning 
rlError 
rlCritical 
rlFatal 
rlTest 
rlEVENT_SIZE 

Definition at line 29 of file rlevent.h.

Function Documentation

void rlEventInit ( int  ac,
char **  av,
const char *  module 
)
initialize rlEvent
parameters:
-eventhost=adr
-eventport=num

Definition at line 36 of file rlevent.cpp.

{
const char *cptr;
rlwsa();
for(int i=0; i<ac; i++)
{
cptr = av[i];
if(strncmp("-eventhost=",cptr,11) == 0) toEventLogServer.setAdr(&cptr[11]);
if(strncmp("-eventport=",cptr,11) == 0) toEventLogServer.setPort(atoi(&cptr[11]));
}
rlstrncpy(rlmodule,module,sizeof(rlmodule)-1);
}
void rlEventPrintf ( int  event_type,
const char *  format,
  ... 
)
output the message

Definition at line 82 of file rlevent.cpp.

{
if(toEventLogServer.getPort() <= 0) return;
va_list ap;
va_start(ap,format);
rlvsnprintf(rlmessage,sizeof(rlmessage)-1,format,ap);
va_end(ap);
if(event_type < 0 ) event_type = rlError;
if(event_type >= rlEVENT_SIZE) event_type = rlError;
#ifdef RLUNIX
snprintf(rlfinal,sizeof(rlfinal)-1,"%s %s %s %s%s\n",
rlevent_name[event_type],
);
#endif
#ifdef __VMS
sprintf(rlfinal,"%s %s %s %s%s\n",
rlevent_name[event_type],
);
rlfinal[rlMAX_EVENT-1] = '\0';
#endif
#ifdef RLWIN32
_snprintf(rlfinal,sizeof(rlfinal)-1,"%s %s %s %s%s\n",
rlevent_name[event_type],
);
#endif
{
toEventLogServer.printf("%s",rlfinal);
}
else
{
{
toEventLogServer.printf("%s",rlfinal);
} // else give up
}
}
void rlSetEventLocation ( const char *  file,
int  line 
)
set the location where rlEvent is called

Definition at line 50 of file rlevent.cpp.

{
#ifdef RLWIN32
const char *cptr;
if(strchr(file,'\\') == NULL) cptr = NULL
else cptr = strrchr(file,'\\');
if(cptr != NULL) cptr++;
else cptr = file;
#endif
#ifdef __VMS
const char *cptr;
if(strchr(file,']') == NULL) cptr = NULL
else cptr = strrchr(file,']');
if(cptr != NULL) cptr++;
else cptr = file;
#endif
#ifdef RLUNIX
snprintf(rllocation,sizeof(rllocation)-1,":%s:%d",file,line);
#endif
#ifdef __VMS
sprintf(rllocation,":%s:%d",file,line);
#endif
#ifdef RLWIN32
_snprintf(rllocation,sizeof(rllocation)-1,":%s:%d",file,line);
#endif
}

Variable Documentation

const char rlevent_name[][4] = { "INF", "WAR", "ERR", "CRI", "FAT", "TST" }
static

Definition at line 28 of file rlevent.h.