Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

stiltiming.h

Go to the documentation of this file.
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 STILTiming_H
00014 #define STILTiming_H
00015 
00016 #include "stilcom.h"             // Common
00017 #include "stilcomstr.h"
00018 #include "stilblock.h"           // STIL Block common base class
00019 #include "stilwaveformtable.h"   // STILWaveformTable class
00020 
00021 //---------------------------------------------------------------------------
00031 //---------------------------------------------------------------------------
00032 class STILTiming : public STILBlock {
00033 
00034   // - Global std::ostream << operator as friend to output STILTiming object
00035   friend std::ostream& operator<<( std::ostream &os, const STILTiming &);
00036 
00037   public:
00038 
00039     // - Default Constructor
00040     STILTiming();
00041 
00042     // - Copy Constructor
00043     STILTiming(const   STILTiming &);
00044 
00045     // - Destructor which frees storage associated to a STILTiming object
00046     virtual ~STILTiming();
00047 
00048     // - Assignment operator
00049     STILTiming & operator=(const STILTiming &);
00050 
00051     // - Member function to initialize an object (default is global domain name)
00052     void                        init(const sstring& domain="");
00053 
00054     // - Member function to write the object
00055     virtual void write(FILE * pOutFile, LONG indentation=0) const;
00056 
00057 
00058     // - Add a WaveformTable object to the Timing definition
00059     void  addWaveformTable (const STILWaveformTable &);
00060 
00061     // - Add a SignalGroup reference to resolve group references
00062     void  addSignalGroups(const sstring &);
00063 
00064   private:
00065     // Copy entity ptrs after an object copy is done
00066     void updateEntityList();
00067 
00068     // list of WaveformTables
00069     std::list<STILWaveformTable> m_WFTList;
00070 
00071 }; // end STILTiming class
00072 
00074 //--------------------------------------------------------------------------
00082 //--------------------------------------------------------------------------
00083 inline void STILTiming::addSignalGroups(const sstring & name) {
00084   addEntity(SignalGroupsRef,"SignalGroups",name);
00085 }
00086 
00087 
00088 #endif
00089 
00090 

This page last updated on 6 Jul 2007

SourceForge.net Logo