paradigm_3/html/
/*! \file event.cpp
  This is the event implementation.

  \author Jon A. Lambert
  \date 05/02/2003
  \version 0.30
 */
#include "sysconfig.h"
#include "event.h"

/*!
 The constructor for an Event.

 \param etype The type of event.
 \param eid The client id associated with this event (socket number).
 \param elen The length of the message data.
 \param edata The message data.
        It may or may not be a null terminated character array.
 */
Event::Event(Event_T etype, SOCKET eid, int elen, const char* edata)
  : mEventType(etype), mClientId(eid), mDataLen(elen) {
  if (elen && edata) {  // These are optional - may be zeroed out.
    mpData = new char[elen + 1];
    memcpy(mpData, edata, elen);
    mpData[elen] = '\0';
  } else {
    mpData = NULL;
    mDataLen = 0;
  }
}

/*!
  Destructor for an Event.
 */
Event::~Event() {
  if (mpData)
    delete[] mpData;
}