Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

Collector.h

00001 // Copyright (C) 1999 Jean-Marc Valin & Dominic Letourneau
00002 
00003 #ifndef Collector_h
00004 #define Collector_h
00005 
00006 #include "Node.h"
00007 #include "Exception.h"
00008 #include <map>
00009 
00010 namespace FD {
00011 
00012 class Collector : public Node
00013 {
00014  
00015 public:
00016 
00018    Collector(std::string nodeName, ParameterSet params);
00019 
00022    virtual void initialize();
00023 
00026    virtual ObjectRef getOutput(int output_id, int count); 
00027   
00029    virtual ObjectRef getOutputNamed (const std::string &outputName, int count);
00030    
00031 
00033    virtual bool hasOutput(int output_id) const;
00034 
00035    virtual void request(int outputID, const ParameterSet &req) {inputs[outputID].node->request(inputs[outputID].outputID,req);}
00036 
00037    virtual void requestAll(const ParameterSet &req) 
00038    {
00039       for (int i=0;i<inputs.size();i++)
00040          inputs[i].node->request(inputs[i].outputID,req);
00041    }
00042 
00043 protected:
00045    virtual int translateInput(std::string inputName);
00046 
00048    virtual int translateOutput(std::string inputName);
00049 
00050 protected:
00052    Collector() {throw new GeneralException("Collector default constructor should not be called",__FILE__,__LINE__);}
00053 
00054 };
00055 }//namespace FD
00056 #endif

Generated on Wed Oct 5 14:28:55 2005 for FlowDesigner by  doxygen 1.4.4