| | |
| | | ~PipeLine(); |
| | | |
| | | bool register_elem_creator(const std::string& type, elem_create_func_t func); |
| | | static bool register_global_elem_creator(const std::string& type, elem_create_func_t func); |
| | | |
| | | void push_elem(PipeLineElem* elem); |
| | | PipeLineElem* push_elem(const std::string& type); |
| | | void push_front_elem(PipeLineElem* elem); |
| | | bool remove_elem(PipeLineElem* elem); |
| | | |
| | | // do pipe sync. returns the element who returns false, or the last one. |
| | | // if false return, the element should deal with pm, clean up. |
| | |
| | | void pipe_notify(PipeLineElem*); |
| | | void pipe_stop(); |
| | | |
| | | void set_global_param(const std::string& name, const std::string& value); |
| | | std::string get_global_param(const std::string& name) const; |
| | | void set_param(const std::string& name, const std::string& value); |
| | | std::string get_param(const std::string& name) const; |
| | | |
| | | private: |
| | | typedef std::map<const std::string, elem_create_func_t> elem_create_func_map_t; |
| | | elem_create_func_map_t elem_create_func_map; |
| | | static elem_create_func_map_t global_elem_create_func_map; |
| | | |
| | | typedef std::vector<PipeLineElem*> elem_vec_t; |
| | | elem_vec_t elems; |
| | | |
| | | typedef std::map<const std::string, std::string> global_params_map_t; |
| | | global_params_map_t global_params_map; |
| | | typedef std::map<const std::string, std::string> params_map_t; |
| | | params_map_t params_map; |
| | | }; |
| | | |
| | | #endif |