Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
rc_genicam_api
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
virtual ~GenTLException()
Definition:
exception.cc:79
rcg::GenTLException::GenTLException
GenTLException(const std::string &msg)
Definition:
exception.cc:47
std::ostringstream::str
std::string str()
exception.h
GC_ERROR
int32_t GC_ERROR
Definition:
GenTL_v1_5.h:181
rcg::GenTLException::what
virtual const char * what() const noexcept
Definition:
exception.cc:82
GC_ERR_SUCCESS
Definition:
GenTL_v1_5.h:155
gentl_wrapper.h
rcg
Definition:
buffer.cc:47
rcg::GenTLException::s
std::string s
Definition:
exception.h:51
std::ostringstream
Definition:
Portability.hh:42
rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:40