Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
~
Functions
a
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
~
Variables
a
c
d
e
f
g
i
l
m
n
u
v
Typedefs
a
c
d
e
g
i
m
n
o
p
s
u
v
Enumerations
_
e
g
h
i
p
Enumerator
_
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
w
x
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
x
y
Typedefs
a
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
v
Enumerations
Enumerator
a
c
d
e
f
i
n
o
r
s
t
w
x
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
y
Functions
c
d
e
g
i
l
m
o
p
r
t
Variables
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
p
s
t
u
Enumerations
a
b
c
d
e
f
g
i
p
s
t
u
Enumerator
a
b
c
d
e
f
g
i
l
m
p
r
s
t
u
y
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
exception.cc
Go to the documentation of this file.
1
/*
2
* This file is part of the rc_genicam_api package.
3
*
4
* Copyright (c) 2017 Roboception GmbH
5
* All rights reserved
6
*
7
* Author: Heiko Hirschmueller
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions are met:
11
*
12
* 1. Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* 2. Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* 3. Neither the name of the copyright holder nor the names of its contributors
20
* may be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
#include "
exception.h
"
37
38
#include "
gentl_wrapper.h
"
39
40
#include <sstream>
41
42
namespace
rcg
43
{
44
45
class
GenTLWrapper;
46
47
GenTLException::GenTLException
(
const
std::string &msg)
48
{
49
s
=msg;
50
}
51
52
GenTLException::GenTLException
(
const
std::string &msg,
53
const
std::shared_ptr<const GenTLWrapper> &gentl)
54
{
55
GenTL::GC_ERROR
err;
56
char
tmp[1024]=
""
;
57
size_t
tmp_size=
sizeof
(tmp);
58
59
gentl->GCGetLastError(&err, tmp, &tmp_size);
60
61
std::ostringstream
out;
62
63
if
(msg.size() > 0 && err !=
GenTL::GC_ERR_SUCCESS
)
64
{
65
out << msg <<
": "
<< tmp <<
" ("
<< err <<
")"
;
66
}
67
else
if
(msg.size() > 0)
68
{
69
out << msg;
70
}
71
else
72
{
73
out << tmp <<
" ("
<< err <<
")"
;
74
}
75
76
s
=out.
str
();
77
}
78
79
GenTLException::~GenTLException
()
80
{ }
81
82
const
char
*
GenTLException::what
() const noexcept
83
{
84
return
s
.c_str();
85
}
86
87
}
rcg::GenTLException::GenTLException
GenTLException(const std::string &msg)
Definition:
exception.cc:47
rcg::GenTLException::~GenTLException
virtual ~GenTLException()
Definition:
exception.cc:79
GC_ERROR
int32_t GC_ERROR
Definition:
GenTL_v1_6.h:185
rcg
Definition:
buffer.cc:47
GC_ERR_SUCCESS
@ GC_ERR_SUCCESS
Definition:
GenTL_v1_6.h:158
rcg::GenTLException::what
virtual const char * what() const noexcept
Definition:
exception.cc:82
std::ostringstream::str
std::string str()
std::ostringstream
Definition:
Portability.hh:42
exception.h
rcg::GenTLException::s
std::string s
Definition:
exception.h:51
gentl_wrapper.h
rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11