00001 /* FreeJ 00002 * (c) Copyright 2001-2009 Denis Roio aka jaromil <jaromil@dyne.org> 00003 * 00004 * This source code is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Public License as published 00006 * by the Free Software Foundation; either version 3 of the License, 00007 * or (at your option) any later version. 00008 * 00009 * This source code is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 * Please refer to the GNU Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Public License along with 00015 * this source code; if not, write to: 00016 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 * 00018 */ 00019 00020 #ifndef __GENERATOR_LAYER_H__ 00021 #define __GENERATOR_LAYER_H__ 00022 00023 #include <layer.h> 00024 #include <factory.h> 00025 00026 class GeneratorLayer: public Layer { 00027 public: 00028 GeneratorLayer(); 00029 ~GeneratorLayer(); 00030 00031 bool open(const char *file); 00032 void *feed(); 00033 void close(); 00034 00035 void register_generators(Linklist<Filter> *gens); 00036 00037 void *swap_buffer; 00038 FilterInstance *generator; 00039 00040 protected: 00041 bool _init(); 00042 00043 Linklist<Filter> *generators; 00044 00045 FACTORY_ALLOWED 00046 }; 00047 00048 #endif
1.6.1