diff options
Diffstat (limited to 'src/emu/netlist/nl_base.h')
-rw-r--r-- | src/emu/netlist/nl_base.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/src/emu/netlist/nl_base.h b/src/emu/netlist/nl_base.h index f571da5339b..8ee96c8f184 100644 --- a/src/emu/netlist/nl_base.h +++ b/src/emu/netlist/nl_base.h @@ -1370,80 +1370,4 @@ ATTR_HOT inline void netlist_analog_output_t::set_Q(const double newQ) } } - -// ----------------------------------------------------------------------------- -// net_dev class factory -// ----------------------------------------------------------------------------- - -class net_device_t_base_factory -{ - NETLIST_PREVENT_COPYING(net_device_t_base_factory) -public: - ATTR_COLD net_device_t_base_factory(const pstring &name, const pstring &classname, - const pstring &def_param) - : m_name(name), m_classname(classname), m_def_param(def_param) - {} - - ATTR_COLD virtual ~net_device_t_base_factory() {} - - ATTR_COLD virtual netlist_device_t *Create() const = 0; - - ATTR_COLD const pstring &name() const { return m_name; } - ATTR_COLD const pstring &classname() const { return m_classname; } - ATTR_COLD const pstring ¶m_desc() const { return m_def_param; } - ATTR_COLD const nl_util::pstring_list term_param_list(); - ATTR_COLD const nl_util::pstring_list def_params(); - -protected: - pstring m_name; /* device name */ - pstring m_classname; /* device class name */ - pstring m_def_param; /* default parameter */ -}; - -template <class C> -class net_device_t_factory : public net_device_t_base_factory -{ - NETLIST_PREVENT_COPYING(net_device_t_factory) -public: - ATTR_COLD net_device_t_factory(const pstring &name, const pstring &classname, - const pstring &def_param) - : net_device_t_base_factory(name, classname, def_param) { } - - ATTR_COLD netlist_device_t *Create() const - { - netlist_device_t *r = new C(); - //r->init(setup, name); - return r; - } -}; - -class netlist_factory_t -{ -public: - typedef plinearlist_t<net_device_t_base_factory *> list_t; - - ATTR_COLD netlist_factory_t(); - ATTR_COLD ~netlist_factory_t(); - - ATTR_COLD void initialize(); - - template<class _C> - ATTR_COLD void register_device(const pstring &name, const pstring &classname, - const pstring &def_param) - { - m_list.add(new net_device_t_factory< _C >(name, classname, def_param) ); - } - - ATTR_COLD netlist_device_t *new_device_by_classname(const pstring &classname, netlist_setup_t &setup) const; - ATTR_COLD netlist_device_t *new_device_by_name(const pstring &name, netlist_setup_t &setup) const; - ATTR_COLD net_device_t_base_factory * factory_by_name(const pstring &name, netlist_setup_t &setup) const; - - const list_t &list() { return m_list; } - -private: - list_t m_list; - -}; - - #endif /* NLBASE_H_ */ |