18 |
19 | /**
20 | * The top level namespace for all 'Log for C++' types and classes.
21 | **/
22 | LOG4CPP_NS_BEGIN
23 |
24 | /**
25 | * The internal representation of logging events. When a affirmative
26 | * logging decision is made a LoggingEvent instance is
27 | * created. This instance is passed around the different log4cpp
28 | * components.
29 | *
30 | * This class is of concern to those wishing to extend log4cpp.
31 | **/
32 | struct LOG4CPP_EXPORT LoggingEvent {
33 | public:
34 | /**
35 | * Instantiate a LoggingEvent from the supplied parameters.
36 | *
37 | *
Except timeStamp all the other fields of
38 | * LoggingEvent are filled when actually needed.
39 | *
40 | * @param category The category of this event.
41 | * @param message The message of this event.
42 | * @param ndc The nested diagnostic context of this event.
43 | * @param priority The priority of this event.
44 | **/
45 | LoggingEvent(const std::string& category, const std::string& message,
46 | const std::string& ndc, Priority::Value priority);
47 |
48 |
49 | /** The category name. */
50 | const std::string categoryName;
51 |
52 | /** The application supplied message of logging event. */
53 | const std::string message;
54 |
55 | /** The nested diagnostic context (NDC) of logging event. */
56 | const std::string ndc;
57 |
58 | /** Priority of logging event. */
59 | Priority::Value priority;
60 |
61 | /** The name of thread in which this logging event was generated,
62 | e.g. the PID.
63 | */
64 | const std::string threadName;
65 |
66 | /** The number of seconds elapsed since the epoch
67 | (1/1/1970 00:00:00 UTC) until logging event was created. */
68 | TimeStamp timeStamp;
69 |
70 | private:
71 | LoggingEvent & operator=(const LoggingEvent &);
72 | };
73 | LOG4CPP_NS_END
74 |
75 | #endif // _LOG4CPP_LOGGINGEVENT_HH
76 |
77 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/GenApiLinkage.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2007 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Fritz Dierks
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /*!
26 | \file
27 | \brief Contains GenApi's linker directives
28 | \ingroup GenApi_PublicInterface
29 | */
30 |
31 | #ifndef GENAPI_GENAPILINKAGE_H
32 | #define GENAPI_GENAPILINKAGE_H
33 |
34 | #include
35 |
36 | // you can define GENICAM_NO_AUTO_IMPLIB to turn off automatic linkage of genicam libs
37 | // you can define GENICAM_FORCE_AUTO_IMPLIB to enforce automatic linkage of genicam libs
38 | #if defined(GENICAM_FORCE_AUTO_IMPLIB) || (!defined(GENICAM_NO_AUTO_IMPLIB) && !defined(GCBASE_EXPORTS) && !defined(GENAPI_EXPORTS) && !defined(MATHPARSERDLL_EXPORTS) && !defined(LOG_EXPORTS))
39 | # if defined (_WIN32) && defined (_MT )
40 | # pragma comment(lib, LIB_NAME( "GCBase" ))
41 | # pragma comment(lib, LIB_NAME( "GenApi" ))
42 | //# pragma comment(lib, LIB_NAME( "Log" ))
43 | //# pragma comment(lib, LIB_NAME( "Log4cpp" ))
44 | # else
45 | # error Invalid configuration
46 | # endif
47 | #endif
48 |
49 |
50 | #define GENAPI_GENAPILINKAGE_H
51 | #endif //
52 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/FirmwareUpdate/FirmwareUpdateDll.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2016-2017 by Basler AG
3 | // Project: GenApi
4 | // Author: Andreas Gau
5 | //
6 | // License: This file is published under the license of the EMVA GenICam Standard Group.
7 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
8 | // If for some reason you are missing this file please contact the EMVA or visit the website
9 | // (http://www.genicam.org) for a full copy.
10 | //
11 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
12 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
13 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
14 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
15 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
16 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
17 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
18 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
19 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
20 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
21 | // POSSIBILITY OF SUCH DAMAGE.
22 | //-----------------------------------------------------------------------------
23 | /*!
24 | \file
25 | \brief Defines to be used for FirmwareUpdate library
26 | */
27 |
28 | #ifndef GENFW_DLL_H
29 | #define GENFW_DLL_H
30 |
31 | #include
32 |
33 | #if defined(_MSC_VER)
34 | # pragma once
35 | # define GENFW_DECL_ABSTRACT /*nothing*/
36 | # ifdef GENFW_EXPORTS
37 | # define GENFW_DECL __declspec(dllexport)
38 | # else
39 | # define GENFW_DECL __declspec(dllimport)
40 | # define GENFW_EXPIMP_TEMPL extern
41 | # endif
42 | #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
43 | # define GENFW_DECL __attribute__((visibility("default")))
44 | # define GENFW_DECL_ABSTRACT __attribute__((visibility("default")))
45 | # ifdef GENFW_EXPORTS
46 | // nothing
47 | # else
48 | # define GENFW_EXPIMP_TEMPL extern
49 | # endif
50 | #else
51 | # #error Define how to export symbols on your platform!
52 | # define GENFW_DECL
53 | # ifndef GENFW_EXPORTS
54 | # define GENFW_EXPIMP_TEMPL extern
55 | # endif
56 | #endif
57 |
58 |
59 | #endif /* GENFW_DLL_H */
60 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/Compatibility.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Margret Albrecht
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /*!
26 | \file
27 | \brief Definition of macros for cross-platform compatibility
28 | \ingroup GenApi_Implementation
29 | */
30 |
31 | #ifndef GENAPI_COMPATIBILITY_H
32 | #define GENAPI_COMPATIBILITY_H
33 |
34 | #if defined (_MSC_VER) && defined (_WIN32)
35 |
36 | #if ! defined(NOMINMAX)
37 | # define NOMINMAX
38 | #endif
39 |
40 | #elif defined (__GNUC__) && (defined (__linux__) || defined (__APPLE__) || defined(VXWORKS))
41 |
42 | # include
43 | /*
44 | * Watch out!
45 | * In order not to break existing code, we have to duplicate the
46 | * broken MS Windows GUID handling. Never mix with code using the
47 | * rfc4122-compliant uuid framework implemented by libuuid!
48 | */
49 |
50 | typedef struct _GUID {
51 | uint32_t Data1;
52 | uint16_t Data2;
53 | uint16_t Data3;
54 | uint8_t Data4[ 8 ];
55 | } __attribute__ ((packed)) GUID;
56 | #else
57 | # error Unsupported platform
58 | #endif
59 | #include
60 |
61 | #endif // ifndef GENAPI_COMPATIBILITY_H
62 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/Base/GCArray.h:
--------------------------------------------------------------------------------
1 | /****************************************************************************
2 | (c) 2014 by Teledyne DALSA
3 | Section: Digital Imaging
4 | Project: GCBase
5 | Author: Eric Bourbonnais
6 |
7 |
8 | License: This file is published under the license of the EMVA GenICam Standard Group.
9 | A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | If for some reason you are missing this file please contact the EMVA or visit the website
11 | (http://www.genicam.org) for a full copy.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | POSSIBILITY OF SUCH DAMAGE.
24 |
25 | ****************************************************************************/
26 |
27 | #ifndef GCBASE_GCARRAY_H
28 | #define GCBASE_GCARRAY_H
29 |
30 | #include
31 | #include
32 | namespace GENICAM_NAMESPACE
33 | {
34 | template< class T>
35 | class gcarray
36 | {
37 | public:
38 | gcarray(size_t size) : m_p(NULL)
39 | {
40 | if (size)
41 | {
42 | m_p = new T[size];
43 | if (!m_p)
44 | {
45 | throw BAD_ALLOC_EXCEPTION("Unable to create gcarray");
46 | }
47 | }
48 | };
49 | ~gcarray(){ if(m_p) delete [] m_p;};
50 | T* get() const {return m_p;} ;
51 | T* operator *() {return m_p;} ;
52 | T operator[](size_t idx) {return m_p[idx];} ;
53 | private:
54 | gcarray(const gcarray&); // copy constructor is not implemented
55 | gcarray& operator =(const gcarray&); // assignment operator is not implemented
56 | private:
57 | T* m_p;
58 | };
59 |
60 | }
61 |
62 | #endif // GCBASE_GCARRAY_H
63 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/impl/MathParser/StrMap.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Margret Albrecht
6 | // $Header$
7 | //
8 | // License: Derived from Kirill Zaborski's MathParser library (http://kirya.narod.ru/mathparser.html ).
9 | // This library comes under LGPL license (see http://www.gnu.org/licenses/lgpl.html).
10 | // Kirill's implementation is a C++ port of the CCalc library from Walery Studennikov (http://www.sama.ru/~despair/ccalc/)
11 | // which also comes under the LGPL.
12 | //-----------------------------------------------------------------------------
13 | /*!
14 | \file
15 | \brief Definition of CStrMap
16 | */
17 | #ifndef _STRMAP_H_
18 | #define _STRMAP_H_
19 |
20 | #include "GenApi/GenApiNamespace.h"
21 | #include "MathParserDll.h"
22 |
23 | /**
24 | * \ingroup internal_impl
25 | *
26 | * \brief Map for variables in swissknife expression
27 | */
28 |
29 | namespace GENAPI_NAMESPACE
30 | {
31 | class MATHPARSERDLL_API CStrMap
32 | {
33 | int FCount, FCapacity;
34 | int FExtraLen, FRecordLen;
35 | int FDoDuplicate;
36 | char* FList;
37 | public:
38 | CStrMap( int extrabytes = sizeof( double ), int dup = 0 );
39 | ~CStrMap( void );
40 | void AddString( const char* str, void* data );
41 | void AddStrLen( const char* str, size_t len, const void* data );
42 | void TrimClear( int NewCount );
43 | void SetCapacity( int NewCapacity );
44 | int LenIndexOf( const char* str, size_t len, const void** data );
45 | const void* DataAt( int index );
46 | bool IsEmpty()
47 | {
48 | return FCount == 0;
49 | }
50 | private:
51 | CStrMap( const CStrMap& ); // copy constructor is not implemented
52 | CStrMap& operator =( const CStrMap& ); // assignment operator is not implemented
53 | };
54 |
55 | // these must match StaticFuncMapDouble
56 | #define FUNC_ROUND 13
57 | #define FUNC_E 18
58 | #define FUNC_PI 19
59 |
60 | class MATHPARSERDLL_API CStaticFuncMapDouble
61 | {
62 | public:
63 | static int LenIndexOf( const char* str, size_t len, const void** data );
64 | };
65 |
66 | class MATHPARSERDLL_API CStaticFuncMapInt64
67 | {
68 | public:
69 | static int LenIndexOf( const char* str, size_t len, const void** data );
70 | };
71 |
72 | } /* GENAPI_NAMESPACE*/
73 |
74 | #endif //_STRMAP_H_
75 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/GenApiNamespace.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // (c) 2015 by STEMMER IMAGING GmbH
5 | //
6 | // Project: GenApi
7 | // Author: Sascha Dorenbeck
8 | // $Header$
9 | //
10 | // License: This file is published under the license of the EMVA GenICam Standard Group.
11 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
12 | // If for some reason you are missing this file please contact the EMVA or visit the website
13 | // (http://www.genicam.org) for a full copy.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
16 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
17 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
19 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 | // POSSIBILITY OF SUCH DAMAGE.
26 | //-----------------------------------------------------------------------------
27 | /*!
28 | \file GenApiNamespace.h
29 | \brief GenICam versioned namespace.
30 | \ingroup GenApi_PublicImpl
31 | */
32 |
33 | #ifndef GENAPI_NAMESPACE_H
34 | #define GENAPI_NAMESPACE_H
35 |
36 | #include
37 |
38 | // This is the development namespace for the GenApi library
39 | #if ! defined(GENAPI_NAMESPACE_DEFINED)
40 |
41 | # if defined(GENICAM_COMPANY_SUFFIX)
42 | # define GENAPI_NAMESPACE GENICAM_SEP_UNDERSCORE_COMPANY(GenApi, GENICAM_VERSION_MAJOR, GENICAM_VERSION_MINOR, GENICAM_COMPANY_SUFFIX)
43 | # else
44 | # define GENAPI_NAMESPACE GENICAM_SEP_UNDERSCORE(GenApi, GENICAM_VERSION_MAJOR, GENICAM_VERSION_MINOR)
45 | # endif
46 |
47 | # define GENAPI_NAMESPACE_DEFINED
48 | #endif // GENAPI_NAMESPACE_DEFINED
49 |
50 | // And make it usable nicely by api's clients
51 | namespace GENAPI_NAMESPACE {}
52 | #if ! defined( GENICAM_SUPPRESS_NAMESPACE_ALIAS )
53 | // Public alias
54 | namespace GenApi = GENAPI_NAMESPACE;
55 | #endif // GENICAM_SUPPRESS_NAMESPACE_ALIAS
56 |
57 | #endif // GENAPI_NAMESPACE_H
58 |
--------------------------------------------------------------------------------
/rc_genicam_api/exception.h:
--------------------------------------------------------------------------------
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 | #ifndef RC_GENICAM_API_EXCEPTION
37 | #define RC_GENICAM_API_EXCEPTION
38 |
39 | #include
40 |
41 | #include
42 | #include
43 |
44 | namespace rcg
45 | {
46 |
47 | class GenTLWrapper;
48 |
49 | class GenTLException : public std::exception
50 | {
51 | private:
52 |
53 | std::string msg;
54 | std::string gentl_msg;
55 | GenTL::GC_ERROR gentl_code;
56 |
57 | public:
58 |
59 | GenTLException(const std::string &msg);
60 | GenTLException(const std::string &msg, const std::shared_ptr &gentl);
61 |
62 | virtual ~GenTLException();
63 |
64 | GenTL::GC_ERROR getGenTLCode() const noexcept { return gentl_code; }
65 | const char *getGenTLMessage() const noexcept { return gentl_msg.c_str(); }
66 |
67 | virtual const char *what() const noexcept;
68 | };
69 |
70 | }
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/GenApiDll.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Fritz Dierks
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /*!
26 | \file
27 | \brief declspec's to be used for GenApi Windows dll
28 | \ingroup GenApi_PublicImpl
29 | */
30 |
31 | #ifndef GENAPIDLL_H
32 | #define GENAPIDLL_H
33 |
34 | #include
35 |
36 | #if defined(_MSC_VER)
37 | # pragma once
38 | # define GENAPI_DECL_ABSTRACT /*nothing*/
39 | # ifdef GENAPI_EXPORTS
40 | # define GENAPI_DECL __declspec(dllexport)
41 | # else
42 | # define GENAPI_DECL __declspec(dllimport)
43 | # define GENAPI_EXPIMP_TEMPL extern
44 | # endif
45 | #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
46 | # define GENAPI_DECL __attribute__((visibility("default")))
47 | # define GENAPI_DECL_ABSTRACT __attribute__((visibility("default")))
48 | # ifdef GENAPI_EXPORTS
49 | // nothing
50 | # else
51 | # define GENAPI_EXPIMP_TEMPL extern
52 | # endif
53 | #else
54 | # #error Define how to export symbols on your platform!
55 | # define GENAPI_DECL
56 | # ifndef GENAPI_EXPORTS
57 | # define GENAPI_EXPIMP_TEMPL extern
58 | # endif
59 | #endif
60 |
61 | #endif /* GENAPIDLL_H */
62 |
--------------------------------------------------------------------------------
/baumer/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | if (UNIX)
3 | # try to get architecture from compiler
4 | EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE)
5 | string(REGEX REPLACE "([a-zA-Z_0-9]+).*" "\\1" ARCHITECTURE ${CXX_MACHINE})
6 | elseif (WIN32)
7 | if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
8 | set(ARCHITECTURE WIN32_i86)
9 | else ()
10 | set(ARCHITECTURE WIN64_x64)
11 | endif ()
12 | endif ()
13 |
14 | message(STATUS "Detected architecture ${ARCHITECTURE}")
15 |
16 | install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LIBDIR}/rc_genicam_api
17 | DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
18 |
19 | if ("${ARCHITECTURE}" STREQUAL "arm")
20 | install(
21 | FILES
22 | Ubuntu-14.04/armv7l/libbgapi2_gige.cti
23 | Ubuntu-14.04/armv7l/libbgapi2_usb.cti
24 | bsysgige.xml
25 | bsysusb.xml
26 | license.txt
27 | COMPONENT bin
28 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/rc_genicam_api
29 | )
30 | elseif ("${ARCHITECTURE}" STREQUAL "aarch64")
31 | install(
32 | FILES
33 | Ubuntu-16.04/arm64/libbgapi2_gige.cti
34 | Ubuntu-16.04/arm64/libbgapi2_usb.cti
35 | bsysgige.xml
36 | bsysusb.xml
37 | license.txt
38 | COMPONENT bin
39 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/rc_genicam_api
40 | )
41 | elseif ("${ARCHITECTURE}" STREQUAL "x86_64")
42 | install(
43 | FILES
44 | Ubuntu-16.04/x86_64/libbgapi2_gige.cti
45 | Ubuntu-16.04/x86_64/libbgapi2_usb.cti
46 | bsysgige.xml
47 | bsysusb.xml
48 | license.txt
49 | COMPONENT bin
50 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/rc_genicam_api
51 | )
52 | elseif ("${ARCHITECTURE}" STREQUAL "i686")
53 | install(
54 | FILES
55 | Ubuntu-16.04/i686/libbgapi2_gige.cti
56 | Ubuntu-16.04/i686/libbgapi2_usb.cti
57 | bsysgige.xml
58 | bsysusb.xml
59 | license.txt
60 | COMPONENT bin
61 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/rc_genicam_api
62 | )
63 | elseif ("${ARCHITECTURE}" STREQUAL "WIN32_i86")
64 | install(
65 | FILES
66 | Win32_i86/bgapi2_gige.cti
67 | Win32_i86/bgapi2_usb.cti
68 | bsysgige.xml
69 | bsysusb.xml
70 | license.txt
71 | COMPONENT bin
72 | DESTINATION ${CMAKE_INSTALL_BINDIR}
73 | )
74 | elseif ("${ARCHITECTURE}" STREQUAL "WIN64_x64")
75 | install(
76 | FILES
77 | Win64_x64/bgapi2_gige.cti
78 | Win64_x64/bgapi2_usb.cti
79 | bsysgige.xml
80 | bsysusb.xml
81 | license.txt
82 | COMPONENT bin
83 | DESTINATION ${CMAKE_INSTALL_BINDIR}
84 | )
85 | else ()
86 | message(FATAL_ERROR "Unknown architecture")
87 | endif ()
88 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/FirmwareUpdate/FirmwareUpdateDefaultInfoCollector.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2016-2017 by Basler AG
3 | // Project: GenApi
4 | // Author: Andreas Gau
5 | //
6 | // License: This file is published under the license of the EMVA GenICam Standard Group.
7 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
8 | // If for some reason you are missing this file please contact the EMVA or visit the website
9 | // (http://www.genicam.org) for a full copy.
10 | //
11 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
12 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
13 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
14 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
15 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
16 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
17 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
18 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
19 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
20 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
21 | // POSSIBILITY OF SUCH DAMAGE.
22 | //-----------------------------------------------------------------------------
23 | /*!
24 | \file
25 | \brief Implementation of FirmwareUpdateDefaultInfoCollector
26 | */
27 | #ifndef GENFW_FIRMWAREUPDATEDEFAULTINFOCOLLECTOR_H
28 | #define GENFW_FIRMWAREUPDATEDEFAULTINFOCOLLECTOR_H
29 |
30 | #include
31 | #include
32 | #include
33 | #include
34 |
35 | namespace GENAPI_NAMESPACE
36 | {
37 | /**
38 | \brief Represents a sink collecting all firmware updates contained in a guf file in a vector.
39 | This interface is used by CFirmwareUpdater::ReadFirmwareUpdateInfos().
40 | */
41 | class /*no export*/ CFirmwareUpdateDefaultInfoCollector : public IFirmwareUpdateInfoCollector
42 | {
43 | public:
44 | virtual ~CFirmwareUpdateDefaultInfoCollector() {};
45 | //implements IFirmwareUpdateInfoCollector::OnUpdateFound
46 | virtual bool OnUpdateRead(const CFirmwareUpdateInfo& FirmwareUpdateInfo)
47 | {
48 | firmwareUpdateInfoList.push_back(FirmwareUpdateInfo);
49 | return true; //continue reading
50 | }
51 |
52 | std::vector firmwareUpdateInfoList;
53 | };
54 | }
55 |
56 | #endif // GENFW_FIRMWAREUPDATEDEFAULTINFOCOLLECTOR_H
57 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/DLLLoad.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Fritz Dierks
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /*!
26 | \file
27 | \brief Definition of function for loading a DLL dynamically
28 | \ingroup GenApi_PublicImpl
29 | */
30 |
31 | #ifndef GENAPI_DLLLOAD_H
32 | #define GENAPI_DLLLOAD_H
33 |
34 | #include
35 | #include
36 |
37 | #if defined (_MSC_VER)
38 | // nothing
39 | #elif defined (__GNUC__)
40 | # if !defined(__x86_64) && !defined(__arm__) && !defined(__aarch64__) && !defined(VXWORKS)
41 | # define __cdecl __attribute__((cdecl))
42 | # else
43 | # define __cdecl /* use default calling convention */
44 | # endif
45 | #else
46 | # error Unsupported compiler
47 | #endif
48 |
49 | namespace GENAPI_NAMESPACE
50 | {
51 | //! Function prototype for the create function implemented by GenApi DLLs
52 | //! \ingroup GenApi_PublicImpl
53 | typedef INodeMap* (__cdecl * Create_f)(const char* pDeviceName);
54 |
55 | //! Function prototype for checking the DLL's GenApi version
56 | //! \ingroup GenApi_PublicImpl
57 | typedef void (__cdecl * GetGenApiVersion_f)(Version_t &Version);
58 |
59 | //! Frees static resources hold by GenApi
60 | /*! Frees all dynamically loaded DLLs held by the DLLManager
61 | */
62 | GENAPI_DECL void GenApiTerminate();
63 | }
64 |
65 | #endif // ifndef GENAPI_DLLLOAD_H
66 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/FirmwareUpdate/FirmwareUpdateInfoCollector.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2016-2017 by Basler AG
3 | // Project: GenApi
4 | // Author: Andreas Gau
5 | //
6 | // License: This file is published under the license of the EMVA GenICam Standard Group.
7 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
8 | // If for some reason you are missing this file please contact the EMVA or visit the website
9 | // (http://www.genicam.org) for a full copy.
10 | //
11 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
12 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
13 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
14 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
15 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
16 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
17 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
18 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
19 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
20 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
21 | // POSSIBILITY OF SUCH DAMAGE.
22 | //-----------------------------------------------------------------------------
23 | /*!
24 | \file
25 | \brief Declaration of IFirmwareUpdateInfoCollector
26 | */
27 | #ifndef GENFW_FIRMWAREUPDATEINFOCOLLECTOR_H
28 | #define GENFW_FIRMWAREUPDATEINFOCOLLECTOR_H
29 |
30 | #include
31 | #include
32 | #include
33 | #include "Destructible.h"
34 |
35 | namespace GENAPI_NAMESPACE
36 | {
37 | class CFirmwareUpdateInfo;
38 |
39 |
40 | /**
41 | \brief Represents a sink collecting all firmware updates contained in a guf file.
42 | This interface is used by CFirmwareUpdater::ReadFirmwareUpdateInfos().
43 | */
44 | class GENFW_DECL_ABSTRACT IFirmwareUpdateInfoCollector : public IDestructible
45 | {
46 | public:
47 | /**
48 | \brief Provides the currently read\c FirmwareUpdateInfo.
49 | \param[in] FirmwareUpdateInfo A firmware update info object representing a firmware update.
50 | \return Returns true if to continue reading. Returns false if to stop reading.
51 |
52 | This method is called by CFirmwareUpdater::ReadFirmwareUpdateInfos().
53 |
54 | Can throw C++ exceptions.
55 | */
56 | virtual bool OnUpdateRead(const CFirmwareUpdateInfo& FirmwareUpdateInfo) = 0;
57 | };
58 | }
59 |
60 | #endif // GENFW_FIRMWAREUPDATEINFOCOLLECTOR_H
61 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/Counter.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Alexander Happe
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /*!
26 | \file
27 | \brief Definition of a simple Counter class
28 | \ingroup GenApi_PublicImpl
29 | */
30 |
31 | #ifndef GENAPI_COUNTER_H
32 | #define GENAPI_COUNTER_H
33 |
34 | namespace GENAPI_NAMESPACE {
35 |
36 | class Counter
37 | {
38 | public:
39 | Counter() : m_value(0)
40 | {
41 | }
42 |
43 | unsigned int GetValue() const
44 | { return m_value; }
45 |
46 | unsigned int operator++() // prefix
47 | {
48 | return ++m_value;
49 | }
50 |
51 | unsigned int operator++(int) // postfix
52 | {
53 | return m_value++;
54 | }
55 |
56 | unsigned int operator--(int) // postfix
57 | {
58 | assert( m_value > 0);
59 | return m_value--;
60 | }
61 |
62 | unsigned int operator--() // prefix
63 | {
64 | assert( m_value > 0);
65 | return --m_value;
66 | }
67 |
68 | operator unsigned int()
69 | {
70 | return m_value;
71 | }
72 |
73 | bool IsZero()
74 | {
75 | return m_value == 0;
76 | }
77 |
78 | private:
79 | unsigned int m_value;
80 | };
81 | }
82 |
83 | #endif // GENAPI_COUNTER_H
84 |
85 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/GenApi/EventAdapter1394.h:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------------
2 | // (c) 2006 by Basler Vision Technologies
3 | // Section: Vision Components
4 | // Project: GenApi
5 | // Author: Hartmut Nebelung
6 | // $Header$
7 | //
8 | // License: This file is published under the license of the EMVA GenICam Standard Group.
9 | // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 | // If for some reason you are missing this file please contact the EMVA or visit the website
11 | // (http://www.genicam.org) for a full copy.
12 | //
13 | // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 | // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 | // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 | // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 | // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 | // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 | // POSSIBILITY OF SUCH DAMAGE.
24 | //-----------------------------------------------------------------------------
25 | /**
26 | \file
27 | \brief Declaration of the CEventAdapter1394 class.
28 | */
29 | #ifndef __EVENTADAPTER1394_H__
30 | #define __EVENTADAPTER1394_H__
31 |
32 |
33 | #include
34 |
35 |
36 | namespace GENAPI_NAMESPACE
37 | {
38 | // the opaque event data on IEEE 1394
39 | struct EventData1394;
40 |
41 | //! Distribute the events to the node map
42 | class GENAPI_DECL CEventAdapter1394 : public GENAPI_NAMESPACE::CEventAdapter
43 | {
44 | public:
45 | //! constructor
46 | explicit CEventAdapter1394( INodeMap* pNodeMap=NULL );
47 | //! destructor
48 | ~CEventAdapter1394();
49 | private:
50 | //! not implemented: copy constructor
51 | CEventAdapter1394( const CEventAdapter1394& );
52 | //! not implemented: assignment operator
53 | CEventAdapter1394& operator=( const CEventAdapter1394& );
54 |
55 | public:
56 | virtual void DeliverMessage( const uint8_t msg[], uint32_t numBytes );
57 | //! distributes events to node map
58 | void DeliverEventMessage( EventData1394& Event, uint32_t numBytes );
59 | private:
60 | struct EventAdapter1394Impl;
61 | EventAdapter1394Impl* m_pImpl;
62 | };
63 | }
64 | #endif //__EVENTADAPTER1394_H__
65 |
--------------------------------------------------------------------------------
/genicam/library/CPP/include/log4cpp/Wrapper.hh:
--------------------------------------------------------------------------------
1 | #ifndef _LOG4CPP_WRAPPER_HH
2 | #define _LOG4CPP_WRAPPER_HH
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #if defined (_WIN32)
9 | #include
10 | #endif
11 |
12 | LOG4CPP_NS_BEGIN
13 | //! A function table which is bound to log4cpp's Category class
14 | typedef struct {
15 | Category& (*getInstance)(const std::string& name);
16 | std::vector* (*getCurrentCategories)();
17 | Category* (*exists)(const std::string& name);
18 | Category& (*getRoot)();
19 | void(*shutdown)();
20 | void (Category::*logva)(Priority::Value priority, const char* stringFormat, va_list va);
21 | bool (Category::*isInfoEnabled)();
22 | bool (Category::*isWarnEnabled)();
23 | bool (Category::*isDebugEnabled)();
24 | void (Category::*setPriority)(Priority::Value priority);
25 | void (Category::*addAppender)(Appender* appender);
26 | void (Category::*removeAppender)(Appender* appender);
27 | } category_t;
28 |
29 | //! A function table which is bound to log4cpp's PatternLayout class
30 | typedef struct {
31 | PatternLayout* (*create)();
32 | void (PatternLayout::*setConversionPattern)(const std::string& conversionPattern);
33 | void(*destroy)(PatternLayout* object);
34 | } pattern_layout_t;
35 |
36 | //! A function table which is bound to log4cpp's PropertyConfigurator class
37 | typedef struct {
38 | void(*configure)(std::istream& initStream);
39 | } property_configurator_t;
40 |
41 | //! A function table which is bound to log4cpp's NDC class
42 | typedef struct {
43 | void(*push)(const std::string& message);
44 | std::string(*pop)();
45 | } ndc_t;
46 |
47 | #if defined (_WIN32)
48 | //! A function table which is bound to log4cpp's Win32DebugAppender class
49 | typedef struct {
50 | Appender *(*create)(const std::string& name);
51 | } win32_debug_appender_t;
52 | #endif
53 |
54 | //! A function table which is bound to log4cpp's Appender class
55 | typedef struct {
56 | Appender *(*createFileAppender)(const std::string& name, const std::string& fileName, bool append, mode_t mode);
57 | void (Appender::*setThreshold)(Priority::Value threshold);
58 | void (Appender::*setLayout)(Layout* layout);
59 | } appender_t;
60 |
61 | //! A wrapper which bridges to log4cpp functionality.
62 | typedef struct {
63 | category_t Category;
64 | pattern_layout_t PatternLayout;
65 | property_configurator_t PropertyConfigurator;
66 | ndc_t NDC;
67 | #if defined (_WIN32)
68 | win32_debug_appender_t Win32DebugAppender;
69 | #endif
70 | appender_t Appender;
71 | } wrapper_t;
72 |
73 | //! A functionality wrapper (= a set of function tables) which is exported.
74 | extern "C" LOG4CPP_EXPORT const LOG4CPP_NS::wrapper_t Wrapper;
75 | LOG4CPP_NS_END
76 |
77 | #endif // _LOG4CPP_WRAPPER_HH
78 |
--------------------------------------------------------------------------------