////////////////////////////////////////////////////////
// RemoteLog
//
// This implements RemoteLogIF
//
// It acts a simple UDP message broadcaster to get 
// write information to the topside module
//
///////////////////////////////////////////////////////

#ifndef _REMOTELOG_H
#define _REMOTELOG_H

#include "RemoteLogIF.h"
#include "RemoteLogIF_SK.h"

#include <netinet/in.h>

class RemoteLog : public RemoteLogIF_SK {

 public:
    
    RemoteLog();
    virtual ~RemoteLog();

    virtual void setDebugLevel(short lev)
	{ _debugLevel = lev; };

    virtual short getDebugLevel()
	{ return _debugLevel; };

    virtual void remoteWrite(short debug, RemoteLogIF::MessageString mes);

    

 protected:

    char* formatString(RemoteLogIF::MessageString mes, short debug, int* length);

    short _debugLevel;
    int _sockNum;
    struct sockaddr_in sinZero;
    struct sockaddr_in sinOne;
  

};

#endif
