00001
00002
00004 #ifndef EVENT_H
00005 #define EVENT_H
00006
00007 #include "envelope.h"
00008
00010
00012 class SpawnedEvent {
00013 public:
00015 int objIdx;
00017 POSE_TimeType timestamp;
00019 eventID evID;
00021 SpawnedEvent *next;
00023 SpawnedEvent() : objIdx(-1), timestamp(POSE_UnsetTS),next(NULL){ }
00025 SpawnedEvent(int idx, eventID e, POSE_TimeType ts, SpawnedEvent *n)
00026 :objIdx (idx), evID(e), timestamp(ts), next(n)
00027 {
00028 }
00030 void pup(PUP::er &p) { p(objIdx); p(timestamp); evID.pup(p); }
00031 };
00032
00034 class Event {
00035 public:
00037 eventID evID;
00039 int fnIdx;
00041 POSE_TimeType timestamp;
00043 int done;
00045 POSE_TimeType svt, evt;
00047 double srt, ert;
00049 int commitBfrLen;
00051 int commitErr;
00053 char *commitBfr;
00055 eventMsg *msg;
00057 SpawnedEvent *spawnedList;
00059 rep *cpData;
00061 int serialCPdataSz;
00062 char *serialCPdata;
00064 Event *next, *prev;
00066 Event();
00068 ~Event();
00070 void pup(PUP::er &p);
00072 void sanitize();
00073 };
00074
00075 #endif