00001 /***************************************************************************
00002 cowner.h - description
00003 -------------------
00004 begin : Tue May 9 2000
00005 copyright : (C) 2000 by Michael Peeters
00006 email : Michael.Peeters@vub.ac.be
00007 ***************************************************************************/
00008
00009 /***************************************************************************
00010 * *
00011 * This program is free software; you can redistribute it and/or modify *
00012 * it under the terms of the GNU General Public License as published by *
00013 * the Free Software Foundation; either version 2 of the License, or *
00014 * (at your option) any later version. *
00015 * *
00016 ***************************************************************************/
00017
00018 #ifndef COWNER_H
00019 #define COWNER_H
00020
00021 #include <stdexcept>
00022 #include <slist.h> // for gcc 3.0
00023 #include <algorithm>
00024 #include "cycler.h"
00025
00026 namespace MODEL
00027 {
00028 using namespace std; //for gcc 3.0
00029
00032 class COwner
00033 {
00034 friend class Cycler;
00035 public:
00037 virtual ~COwner(){}
00039 void execute_list(void);
00043 virtual void cycle(Cycler& c) {c.execute();}
00044
00045 protected:
00046 void add_to_list(Cycler& c);
00047 void remove(Cycler& c);
00048
00049 private:
00050 slist<Cycler*> c_list;
00051 };
00052 } // end namespace
00053
00054
00055 #endif
00056
00057 /*********************************************************************
00058 $Id: cowner.h,v 1.1 2001/05/22 10:54:55 mpeeters Exp $
00059 **********************************************************************
00060
00061 $Log: cowner.h,v $
00062 Revision 1.1 2001/05/22 10:54:55 mpeeters
00063 Moved sources and headers for libModel to model/ subdirectory, in an attempt to rationalize the source tree. This should make things "netter".
00064
00065 Revision 1.3 2001/05/21 11:53:16 mpeeters
00066 Removed Makefile.in, which is automatically generated anyway.
00067
00068 Revision 1.2 2000/09/15 10:26:31 mpeeters
00069 Cleaned out header and added CVS tails to files, removed superfuous
00070 @author comments, inserted dates
00071
00072 *********************************************************************/
More Info? Michael Peeters. Also, check our research website: www.alna.vub.ac.be
Last update: June 2002.