14 #ifndef GRAPHICSPIPESELECTION_H
15 #define GRAPHICSPIPESELECTION_H
25 class HardwareChannel;
39 int get_num_pipe_types()
const;
41 MAKE_SEQ(get_pipe_types, get_num_pipe_types, get_pipe_type);
42 MAKE_SEQ_PROPERTY(pipe_types, get_num_pipe_types, get_pipe_type);
43 void print_pipe_types()
const;
46 const std::string &module_name = std::string());
48 PT(
GraphicsPipe) make_module_pipe(
const std::string &module_name);
51 INLINE
int get_num_aux_modules()
const;
52 void load_aux_modules();
58 bool add_pipe_type(
TypeHandle type, PipeConstructorFunc *func);
61 INLINE
void load_default_module()
const;
62 void do_load_default_module();
63 TypeHandle load_named_module(
const std::string &name);
67 std::string _module_name;
72 LoadedModules _loaded_modules;
77 INLINE PipeType(
TypeHandle type, PipeConstructorFunc *constructor);
79 PipeConstructorFunc *_constructor;
82 PipeTypes _pipe_types;
85 typedef vector_string DisplayModules;
86 DisplayModules _display_modules;
87 std::string _default_display_module;
88 std::string _default_pipe_name;
89 bool _default_module_loaded;