00001 /******************************************************************************* 00002 * Copyright (c) 2006 International Business Machines Corporation 00003 * All rights reserved. This program and the accompanying materials 00004 * are made available under the terms of the Common Public License v1.0 00005 * which accompanies this distribution, and is available at 00006 * http://www.opensource.org/licenses/cpl1.0.php 00007 * 00008 * Contributors: 00009 * Douglas Sprague, Joel Wheeler - initial API and implementation 00010 * 00011 *****************************************************************************/ 00012 00013 #ifndef STILWaveforms_H 00014 #define STILWaveforms_H 00015 00016 00017 #include "stilcom.h" // Common library 00018 #include "stilcomstr.h" 00019 #include "stilblock.h" 00020 #include "stilwaveform.h" 00021 00022 #include <list> 00023 00024 //--------------------------------------------------------------------------- 00030 //--------------------------------------------------------------------------- 00031 class STILWaveforms : public STILBlock { 00032 00033 // - Public members 00034 public: 00035 // - Default constructor 00036 STILWaveforms(); 00037 00038 // - Copy Constructor 00039 STILWaveforms(const STILWaveforms &); 00040 00041 // - Destructor 00042 virtual ~STILWaveforms(); 00043 00044 // - Assignment operator 00045 STILWaveforms & operator=(const STILWaveforms &); 00046 00047 // - Initialize/reset this object 00048 void init(); 00049 00050 // - Write this object out to a file 00051 virtual void write(FILE * pOutFile, LONG indentation=0) const; 00052 00053 00054 // - Add a waveform 00055 void addWaveform(const STILWaveform &); 00056 00057 // - Private members 00058 private: 00059 //Update the Entity list pointers to the new link list nodes 00060 void updateEntityList(void); 00061 00062 // List of waveform objects 00063 std::list<STILWaveform> m_waveformList; 00064 }; 00065 #endif