Qpid Proton C++ API
0.40.0
Loading...
Searching...
No Matches
export.hpp
1
#ifndef PROTON_INTERNAL_EXPORT_HPP
2
#define PROTON_INTERNAL_EXPORT_HPP
3
4
/*
5
*
6
* Licensed to the Apache Software Foundation (ASF) under one
7
* or more contributor license agreements. See the NOTICE file
8
* distributed with this work for additional information
9
* regarding copyright ownership. The ASF licenses this file
10
* to you under the Apache License, Version 2.0 (the
11
* "License"); you may not use this file except in compliance
12
* with the License. You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing,
17
* software distributed under the License is distributed on an
18
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
* KIND, either express or implied. See the License for the
20
* specific language governing permissions and limitations
21
* under the License.
22
*
23
*/
24
26
28
#if defined(_WIN32) && !defined(PN_CPP_DECLARE_STATIC)
29
//
30
// Import and Export definitions for Windows:
31
//
32
# define PN_CPP_EXPORT __declspec(dllexport)
33
# define PN_CPP_IMPORT __declspec(dllimport)
34
# define PN_CPP_CLASS_EXPORT
35
# define PN_CPP_CLASS_IMPORT
36
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
37
# define PN_CPP_EXPORT __global
38
# define PN_CPP_IMPORT
39
# define PN_CPP_CLASS_EXPORT __global
40
# define PN_CPP_CLASS_IMPORT
41
#else
42
//
43
// Non-Windows (Linux, etc.) definitions:
44
//
45
# define PN_CPP_EXPORT __attribute__((visibility("default"
)))
46
# define PN_CPP_IMPORT
47
# define PN_CPP_CLASS_EXPORT __attribute__((visibility("default"
)))
48
# define PN_CPP_CLASS_IMPORT
49
#endif
50
51
// For qpid-proton-cpp library symbols
52
#ifdef qpid_proton_cpp_EXPORTS
53
# define PN_CPP_EXTERN PN_CPP_EXPORT
54
# define PN_CPP_CLASS_EXTERN PN_CPP_CLASS_EXPORT
55
#else
56
# define PN_CPP_EXTERN PN_CPP_IMPORT
57
# define PN_CPP_CLASS_EXTERN PN_CPP_CLASS_IMPORT
58
#endif
59
60
#if defined(PN_CPP_USE_DEPRECATED_API)
61
# define PN_CPP_DEPRECATED(message)
62
#else
63
# if defined(PN_COMPILER_CXX_ATTRIBUTE_DEPRECATED) && PN_COMPILER_CXX_ATTRIBUTE_DEPRECATED
64
# define PN_CPP_DEPRECATED(message) [[deprecated(message)]]
65
# elif defined(_WIN32)
66
# define PN_CPP_DEPRECATED(message) __declspec(deprecated(message))
67
# elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40500
68
# define PN_CPP_DEPRECATED(message) __attribute__((deprecated))
69
# else
70
# define PN_CPP_DEPRECATED(message) __attribute__((deprecated(message)))
71
# endif
72
#endif
73
75
76
#endif
// PROTON_INTERNAL_EXPORT_HPP
proton
internal
export.hpp
Generated by
1.9.7