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 PORTIMPL_H 00012 #define PORTIMPL_H 00013 00014 #include "portbase.h" 00015 #include <vector> 00016 00017 class rteInPort; 00018 class rteOutPort; 00019 00020 class InPortImpl : public InPortBase 00021 { 00022 public: 00023 InPortImpl(const IdBase& n, Connector& c); 00024 00025 friend class rteInPort; 00026 rteInPort* rte() const; 00027 00028 protected: 00029 rteInPort* impl; 00030 }; 00031 00032 00033 class OutPortImpl : public OutPortBase 00034 { 00035 public: 00036 OutPortImpl(const IdBase& n, Connector& c); 00037 00038 friend class rteOutPort; 00039 unsigned int nrRteOutPorts() const; 00040 rteOutPort* rte(unsigned int i=0) const; 00041 00042 protected: 00043 std::vector<rteOutPort*> impl; 00044 }; 00045 00046 00047 #endif