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 STILSignalGroups_H 00014 #define STILSignalGroups_H 00015 00016 #include "stilcom.h" 00017 #include "stilblock.h" // STIL Block Interface (base class) 00018 #include "stilsignalgroup.h" // STIL SignalGroupInterface 00019 00020 #include <list> 00021 00022 //--------------------------------------------------------------------------- 00028 //--------------------------------------------------------------------------- 00029 class STILSignalGroups : public STILBlock { 00030 00031 // - Public members 00032 public: 00033 00034 // - Default Constructor 00035 STILSignalGroups(); 00036 00037 // - Copy Constructor 00038 STILSignalGroups(const STILSignalGroups &); 00039 00040 // - Destructor 00041 virtual ~STILSignalGroups(); 00042 00043 // - Assignment operator 00044 STILSignalGroups & operator=(const STILSignalGroups &); 00045 00046 // - Initialize this STILSignalGroups object. 00047 void init(); 00048 00049 // - Write out this object to a given FILE 00050 virtual void write(FILE * pOutFile, LONG indentation=0) const; 00051 00052 // - Add a SignalGroup to this object. 00053 void addSignalGroup(const STILSignalGroup &); 00054 00055 // Private members 00056 private: 00057 00058 std::list<STILSignalGroup> m_signalGroupList; // list of SignalGroup objects 00059 00060 }; // end STILSignalGroups class 00061 00062 00063 #endif