2
# Copyright 2005 Free Software Foundation, Inc.
4
# This file is part of GNU Radio
6
# GNU Radio is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 3, or (at your option)
11
# GNU Radio is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
# GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License
17
# along with GNU Radio; see the file COPYING. If not, write to
18
# the Free Software Foundation, Inc., 51 Franklin Street,
19
# Boston, MA 02110-1301, USA.
22
_instantiator_map = {}
24
def add(dbid, instantiator):
25
_instantiator_map[dbid] = instantiator
27
def instantiate(usrp, which):
28
dbid = usrp.daughterboard_id(which)
29
if _instantiator_map.has_key(dbid):
30
return _instantiator_map[dbid](usrp, which)
31
raise ValueError, "No class defined to handle daughterboard (dbid = %d)" % (dbid,)