OnixS C++ MTS Repo SDP Handler
1.3.2.8
API documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
include
OnixS
MTS
Repo
SDP
ABI.h
Go to the documentation of this file.
1
#pragma once
2
/*
3
* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
4
*
5
* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
6
* and international copyright treaties.
7
*
8
* Access to and use of the software is governed by the terms of the applicable ONIXS Software
9
* Services Agreement (the Agreement) and Customer end user license agreements granting
10
* a non-assignable, non-transferable and non-exclusive license to use the software
11
* for it's own data processing purposes under the terms defined in the Agreement.
12
*
13
* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
14
* of this source code or associated reference material to any other location for further reproduction
15
* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
16
*
17
* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18
* the terms of the Agreement is a violation of copyright law.
19
*/
20
21
// ABI decorations.
22
23
#if defined (_MSC_VER)
24
25
#if defined (ONIXS_MTS_REPO_SDP_AS_STATIC_LIB)
26
#define ONIXS_MTS_REPO_SDP_API
27
#elif defined (ONIXS_MTS_REPO_SDP_API_EXPORTS)
28
#define ONIXS_MTS_REPO_SDP_API __declspec(dllexport)
29
#else
30
#define ONIXS_MTS_REPO_SDP_API __declspec(dllimport)
31
#endif
32
33
#define ONIXS_MTS_REPO_SDP_THROWABLE
34
#define ONIXS_MTS_REPO_SDP_THROWABLE_API ONIXS_MTS_REPO_SDP_API
35
36
#elif (__GNUC__ >= 4)
37
38
#if defined (ONIXS_MTS_REPO_SDP_AS_STATIC_LIB)
39
#define ONIXS_MTS_REPO_SDP_API
/*__attribute__ ((visibility("hidden")))*/
40
#else
41
#define ONIXS_MTS_REPO_SDP_API __attribute__ ((visibility("default")))
42
#endif
43
44
#define ONIXS_MTS_REPO_SDP_THROWABLE __attribute__ ((visibility("default")))
45
#define ONIXS_MTS_REPO_SDP_THROWABLE_API ONIXS_MTS_REPO_SDP_THROWABLE
46
47
#else
48
49
#define ONIXS_MTS_REPO_SDP_API
50
#define ONIXS_MTS_REPO_SDP_THROWABLE
51
#define ONIXS_MTS_REPO_SDP_THROWABLE_API
52
53
#endif
54
55
// Different compilers has different approaches in public class/struct
56
// declaration. Following set of macros eliminates miscellaneous issues
57
// (compiler warnings) related with class/struct forward declarations.
58
59
#if defined (_MSC_VER)
60
#define ONIXS_MTS_REPO_SDP_API_DECL(typeKind, typeName) \
61
typeKind ONIXS_MTS_REPO_SDP_API typeName
62
#else
63
#define ONIXS_MTS_REPO_SDP_API_DECL(typeKind, typeName) \
64
typeKind typeName
65
#endif