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 STILSubWaveformItem_H 00014 #define STILSubWaveformItem_H 00015 00016 00017 #include "stilcom.h" // Common library 00018 #include "stilcomstr.h" 00019 #include "stilwaveformevent.h" 00020 #include "stiltimingwaveformref.h" 00021 #include "stilwfcs.h" 00022 00023 #include <list> 00024 00025 //--------------------------------------------------------------------------- 00049 //--------------------------------------------------------------------------- 00050 class STILWaveformItem : public STILBlock { 00051 00052 // - Public members 00053 public: 00054 // - Default constructor 00055 STILWaveformItem(); 00056 00057 // - Copy Constructor 00058 STILWaveformItem(const STILWaveformItem &); 00059 00060 // - Destructor 00061 virtual ~STILWaveformItem(); 00062 00063 // - Assignment operator 00064 STILWaveformItem & operator=(const STILWaveformItem &); 00065 00066 // - Initialize/reset this object 00067 void init(); 00068 00069 // - Write this object out to a file 00070 virtual void write(FILE * pOutFile, LONG indentation=0) const; 00071 00072 00073 // - Set/Get the waveform character list 00074 void setWFCList(const STILWFCS w); 00075 STILWFCS getWFCList() const; 00076 00077 // - Set/Get the resource tag for this waveformitem (1450.3 extension) 00078 void setResourceTag(const sstring & tag); 00079 const sstring & getResourceTag() const; 00080 00081 // - Add an inherit waveform 00082 void addInheritWaveform(const STILTimingWaveformRef &); 00083 00084 // - Add a waveform event 00085 void addWaveformEvent(const STILWaveformEvent &); 00086 00087 // - Private members 00088 private: 00089 // Update the linked list of entity ptrs 00090 void updateEntityList(); 00091 00092 // Reference to inherited waveform table 00093 std::list<STILTimingWaveformRef> m_inhWFTList; 00094 00095 // The WFC/WFCList 00096 STILWFCS m_WFCS; 00097 00098 // List of waveform events 00099 std::list<STILWaveformEvent> m_WEList; 00100 00101 // The 1450.3 resource tag 00102 sstring m_resourceTag; 00103 00104 }; 00105 00106 //-------------------------------------------------------------------------- 00114 //------------------------------------------------------------------------- 00115 inline void STILWaveformItem::setWFCList(const STILWFCS w) { m_WFCS = w; } 00116 00117 //-------------------------------------------------------------------------- 00125 //------------------------------------------------------------------------- 00126 inline STILWFCS STILWaveformItem::getWFCList() const { return m_WFCS; } 00127 00128 //-------------------------------------------------------------------------- 00136 //------------------------------------------------------------------------- 00137 inline const sstring & STILWaveformItem::getResourceTag() const { return m_resourceTag; } 00138 00139 #endif