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 BYTESTREAMEXAMPLE_H 00012 #define BYTESTREAMEXAMPLE_H 00013 00014 #include "yapi.h" 00015 #include "vya.h" 00016 #include "bytestreamfe.h" 00017 #include "bytestreambe.h" 00018 #include "bytestream_env.h" 00019 #include "bytestream_usr.h" 00020 00021 class byteStreamExample: public ProcessNetwork 00022 { 00023 public: 00024 // constructor 00025 byteStreamExample( 00026 const Id& n, 00027 char* fefile, 00028 char* befile 00029 ); 00030 00031 // type member function 00032 const char* type() const { return "byteStreamExample"; } 00033 00034 private: 00035 // fifos 00036 Fifo<byteStream_args_t> argumentsIn; 00037 Fifo<VYAfileName> fileNameIn; 00038 Fifo<int> nrBytesIn; 00039 00040 Fifo<byteStream_args_t> argumentsOut; 00041 Fifo<VYAfileName> fileNameOut; 00042 Fifo<int> nrBytesOut; 00043 00044 Fifo<unsigned char> byteStream; 00045 00046 // processes 00047 byteStreamFE frontEnd; 00048 byteStreamBE backEnd; 00049 byteStreamEnv controlFE; 00050 byteStreamEnv controlBE; 00051 byteStreamUsr bytestream_usrFE; 00052 byteStreamUsr bytestream_usrBE; 00053 }; 00054 00055 #endif // BYTESTREAMEXAMPLE_H