From 52985e49dbbf4e35c2b725ffc835a4bd34232d58 Mon Sep 17 00:00:00 2001 From: chatty Date: Thu, 13 Jul 1995 12:37:23 +0000 Subject: Added DnnEvent (DnnEventType*, bool) --- dnn/Event.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'dnn/Event.cc') diff --git a/dnn/Event.cc b/dnn/Event.cc index 3dbf5fb..3868985 100644 --- a/dnn/Event.cc +++ b/dnn/Event.cc @@ -3,7 +3,7 @@ * * by Stephane Chatty * - * Copyright 1993-1994 + * Copyright 1993-1995 * Centre d'Etudes de la Navigation Aerienne (CENA) * * Events. @@ -109,7 +109,7 @@ DnnEventType :: ~DnnEventType () } /*? -Build an even of type \var{t}. +Build an event of type \var{t}. ?*/ DnnEvent :: DnnEvent (const DnnEventType* t) : Type (*t) @@ -121,10 +121,25 @@ DnnEvent :: DnnEvent (const DnnEventType* t) Data = 0; } + +DnnEvent :: DnnEvent (const DnnEventType* t, bool alloc) +: Type (*t) +{ + if (alloc) { + int sz = t->GetTotalSize (); + if (sz > 0) + Data = new char [sz]; + else + Data = 0; + } else { + Data = (char*) (&Data + sizeof (char*)); + } +} + /*?nodoc?*/ DnnEvent :: ~DnnEvent () { - if (Data) + if (Data && Data != (char*) (&Data+sizeof (char*))) delete [] Data; } -- cgit v1.1