15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef DBUS_DBUS_EXPORT_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define DBUS_DBUS_EXPORT_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Defines CHROME_DBUS_EXPORT so that functionality implemented by the dbus
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// library can be exported to consumers.
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// NOTE: We haven't used DBUS_EXPORT because it would conflict with the version
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// from /usr/include/dbus-1.0/dbus/dbus-macros.h.
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(COMPONENT_BUILD)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(WIN32)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(DBUS_IMPLEMENTATION)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_DBUS_EXPORT __declspec(dllexport)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_DBUS_EXPORT __declspec(dllimport)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(DBUS_IMPLEMENTATION)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else  // !defined(WIN32)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(DBUS_IMPLEMENTATION)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_DBUS_EXPORT __attribute__((visibility("default")))
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_DBUS_EXPORT
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(WIN32)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else  // !defined(COMPONENT_BUILD)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_DBUS_EXPORT
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(COMPONENT_BUILD)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // DBUS_DBUS_EXPORT_H_
39