libkeepass 0.2.0
KeePass key database importer/exporter library
Loading...
Searching...
No Matches
export.hh
Go to the documentation of this file.
1/*
2 * libkeepass - KeePass key database importer/exporter
3 * Copyright (C) 2014 Christian Kindahl
4 * Copyright (C) 2024 Dominik Krümpelmann
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
22#pragma once
23
24// On Windows the public classes and functions of this shared library are
25// exported/imported explicitly with __declspec(dllexport/dllimport). The
26// LIBKEEPASS_EXPORTS macro is defined automatically by CMake while building the
27// libkeepass target itself (via the libkeepass_EXPORTS define). On other
28// platforms visibility is default and the macro expands to nothing.
29
38#if defined(_WIN32) && (defined(LIBKEEPASS_EXPORTS) || defined(libkeepass_EXPORTS))
39#define LIBKEEPASS_API __declspec(dllexport)
40#elif defined(_WIN32)
41#define LIBKEEPASS_API __declspec(dllimport)
42#else
43#define LIBKEEPASS_API
44#endif