3
* Copyright 2006,2008 Free Software Foundation, Inc.
5
* This file is part of GNU Radio
7
* GNU Radio is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 3, or (at your option)
12
* GNU Radio is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License along
18
* with this program; if not, write to the Free Software Foundation, Inc.,
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
#ifndef INCLUDED_MB_EXCEPTION_H
22
#define INCLUDED_MB_EXCEPTION_H
29
class mbe_base : public std::logic_error
32
mbe_base(mb_mblock *mb, const std::string &msg);
35
class mbe_not_implemented : public mbe_base
38
mbe_not_implemented(mb_mblock *mb, const std::string &msg);
41
class mbe_no_such_class : public mbe_base
44
mbe_no_such_class(mb_mblock *, const std::string &class_name);
47
class mbe_no_such_component : public mbe_base
50
mbe_no_such_component(mb_mblock *, const std::string &component_name);
53
class mbe_duplicate_component : public mbe_base
56
mbe_duplicate_component(mb_mblock *, const std::string &component_name);
59
class mbe_no_such_port : public mbe_base
62
mbe_no_such_port(mb_mblock *, const std::string &port_name);
66
class mbe_duplicate_port : public mbe_base
69
mbe_duplicate_port(mb_mblock *, const std::string &port_name);
72
class mbe_already_connected : public mbe_base
75
mbe_already_connected(mb_mblock *, const std::string &comp_name,
76
const std::string &port_name);
79
class mbe_incompatible_ports : public mbe_base
82
mbe_incompatible_ports(mb_mblock *,
83
const std::string &comp1_name,
84
const std::string &port1_name,
85
const std::string &comp2_name,
86
const std::string &port2_name);
89
class mbe_invalid_port_type : public mbe_base
92
mbe_invalid_port_type(mb_mblock *, const std::string &comp_name,
93
const std::string &port_name);
96
class mbe_mblock_failed : public mbe_base
99
mbe_mblock_failed(mb_mblock *, const std::string &msg);
104
// not derived from mbe_base to simplify try/catch
111
// not derived from mbe_base to simplify try/catch
118
#endif /* INCLUDED_MB_EXCEPTION_H */