Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

baseRte.h

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------
00002  *
00003  * (C) Copyright Koninklijke Philips Electronics NV 2006. 
00004  * All rights reserved. This software is licensed under the terms of
00005  * version 2.1 of the GNU Lesser General Public License as published 
00006  * by the Free Software Foundation. For licensing and warranty
00007  * information, see the file COPYING in the main directory.
00008  *
00009  *------------------------------------------------------------------*/
00010 
00011 #ifndef RTE_H
00012 #define RTE_H
00013 
00014 #include <iostream>
00015 
00016 class rteNetwork;
00017 class rteProcess;
00018 class rteFifo;
00019 class rteSelect;
00020 
00021 class NetworkImpl;
00022 class ProcessImpl;
00023 class FifoImpl;
00024 class SelectImpl;
00025 
00026 class ProcessNetwork;
00027 
00028 class Rte
00029 {
00030 public:
00031   Rte();
00032   virtual ~Rte();
00033 
00034   virtual rteNetwork* create(NetworkImpl& n) = 0;
00035   virtual rteProcess* create(ProcessImpl& p) = 0;
00036   virtual rteFifo*    create(FifoImpl& f) = 0;
00037   virtual rteSelect*  create(SelectImpl& s) = 0;
00038 
00039         virtual void start(ProcessNetwork& n) = 0;
00040 
00041   virtual void setCout(std::ostream& o) = 0;
00042   virtual void setCerr(std::ostream& o) = 0;
00043   virtual void setCin(std::istream& o) = 0;
00044   virtual std::ostream& cout () = 0;
00045   virtual std::ostream& cerr () = 0;
00046   virtual std::istream& cin () = 0;
00047 };
00048 
00049 void start(ProcessNetwork& n);
00050 
00051 Rte* newRte();
00052 
00053 #endif

Generated on Wed Feb 15 14:52:38 2006 for yapi by doxygen 1.3.2