00001 #ifndef __SGMLIST_H_INCLUDED__
00002 #define __SGMLIST_H_INCLUDED__
00003 //**********************************************************************
00004 // *
00005 // Filename: sgmlist.h *
00006 // Date: 30 Mar 2002 *
00007 // File Version: 1 *
00008 // *
00009 // Description: List class to hold instances of Signalman class. *
00010 // *
00011 // Author: Chris White (whitecf@bcs.org.uk) *
00012 // Company: Monitor Computing Services Ltd. *
00013 // *
00014 //**********************************************************************
00015 // *
00016 // Copyright (C) 2002 Monitor Computing Services Ltd. *
00017 // *
00018 // This program is free software; you can redistribute it and/or *
00019 // modify it under the terms of the GNU General Public License *
00020 // as published by the Free Software Foundation; either version 2 *
00021 // of the License, or any later version. *
00022 // *
00023 // This program is distributed in the hope that it will be useful, *
00024 // but WITHOUT ANY WARRANTY; without even the implied warranty of *
00025 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
00026 // GNU General Public License for more details. *
00027 // *
00028 // You should have received a copy of the GNU General Public *
00029 // License (http://www.gnu.org/copyleft/gpl.html) along with this *
00030 // program; if not, write to: *
00031 // The Free Software Foundation Inc., *
00032 // 59 Temple Place - Suite 330, *
00033 // Boston, MA 02111-1307, *
00034 // USA. *
00035 // *
00036 //**********************************************************************
00037 // *
00038 // Notes: *
00039 // *
00040 //**********************************************************************
00041
00042
00043 // Forward declerations
00044 template <class T> class TSListImp;
00045
00046
00047 namespace Monitor {
00048 namespace BellMaster {
00049
00050
00051 // Forward declerations within namespace
00052 class Signalman;
00053
00054
00055
00056 class SignalmanList
00057 {
00058 public:
00059 SignalmanList();
00060 ~SignalmanList();
00061
00062 void
00063 addSignalman(const Signalman &newSignalman);
00064
00065 void
00066 removeSignalman(const Signalman &oldSignalman);
00067
00071 void
00072 clear();
00073
00077 const unsigned&
00078 size() const;
00079
00083 Signalman&
00084 operator[](int index) const;
00085
00086 private:
00087
00091 TSListImp< Signalman > *myList;
00092
00096 unsigned listSize;
00097
00101 TSListImp< Signalman >&
00102 getList() const;
00103 }; // class SignalemanList
00104
00105 }; // namespace BellMaster
00106 }; // namespace Monitor
00107
00108
00109 #endif // __SGMLIST_H_INCLUDED__
1.2.14 written by Dimitri van Heesch,
© 1997-2002