15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 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 NET_BASE_NET_EXPORT_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_BASE_NET_EXPORT_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Defines NET_EXPORT so that functionality implemented by the net module can 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// access features not intended to be used directly by real consumers. 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(COMPONENT_BUILD) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(WIN32) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(NET_IMPLEMENTATION) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT __declspec(dllexport) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT_PRIVATE __declspec(dllexport) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT __declspec(dllimport) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT_PRIVATE __declspec(dllimport) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(NET_IMPLEMENTATION) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else // defined(WIN32) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(NET_IMPLEMENTATION) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT __attribute__((visibility("default"))) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT_PRIVATE __attribute__((visibility("default"))) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT_PRIVATE 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else /// defined(COMPONENT_BUILD) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NET_EXPORT_PRIVATE 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // NET_BASE_NET_EXPORT_H_ 39