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 RTEPORT_H 00012 #define RTEPORT_H 00013 00014 class rteFifo; 00015 class InPortImpl; 00016 class OutPortImpl; 00017 00018 class rteInPort 00019 { 00020 public: 00021 rteInPort(InPortImpl& i, rteFifo& f); 00022 virtual ~rteInPort(); 00023 00024 const InPortImpl* api() const; 00025 void read(void* p, unsigned int nitems); 00026 00027 private: 00028 InPortImpl* base; 00029 rteFifo* fifo; 00030 }; 00031 00032 class rteOutPort 00033 { 00034 public: 00035 rteOutPort(OutPortImpl& i, rteFifo& f); 00036 virtual ~rteOutPort(); 00037 00038 const OutPortImpl* api() const; 00039 void write(const void* p, unsigned int nitems); 00040 00041 private: 00042 OutPortImpl* base; 00043 rteFifo* fifo; 00044 }; 00045 00046 #endif