NAME

OTC_Event - Base class for any event object.

SYNOPSIS


#include <OTC/dispatch/event.hh>

class OTC_Event
{
  public:
    inline void* operator new(size_t theSize);
    virtual void* type() const = 0;
    void deliver(OTC_EVAgent* theAgent);
    void deliver(int theAgentId);
    void queue(int theAgentId);
    virtual OTC_Event* clone();
    void destroy();
    virtual void dump(ostream& outs) const = 0;
    friend ostream& operator<<(
      ostream& outs,
      OTC_Event const& theEvent
    );
  protected:
    virtual void cancelSource(int theAgentId);
    inline void operator delete(void* theMem, size_t theSize);
    inline OTC_Event();
    virtual ~OTC_Event();
};

CLASS TYPE

Abstract

DESCRIPTION

OTC_Event is the base class for any event objects, which are to be delivered to an agent. Space for derived classes will be allocated from OTC_CommonPool.

IDENTIFICATION

virtual void* type() const = 0;

NOTIFICATION

void deliver(OTC_EVAgent* theAgent);
void deliver(int theAgentId);
void queue(int theAgentId);

CLONING

virtual OTC_Event* clone();

DESTRUCTION

void destroy();

DEBUGGING

virtual void dump(ostream& outs) const = 0;
friend ostream& operator<<(ostream& outs, OTC_Event const& theEvent);

NON DELIVERY

virtual void cancelSource(int theAgentId);

SEE ALSO

OTC_CommonPool, OTC_EVAgent, OTC_Dispatcher

LIBRARY

OTC

AUTHOR(S)

Graham Dumpleton

COPYRIGHT

Copyright 1993 OTC LIMITED
Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED