// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_BASE_NET_EXPORT_H_ #define NET_BASE_NET_EXPORT_H_ #pragma once // Defines NET_EXPORT so that functionality implemented by the net module can // be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to // access features not intended to be used directly by real consumers. #if defined(COMPONENT_BUILD) #if defined(WIN32) #if defined(NET_IMPLEMENTATION) #define NET_EXPORT __declspec(dllexport) #define NET_EXPORT_PRIVATE __declspec(dllexport) #else #define NET_EXPORT __declspec(dllimport) #define NET_EXPORT_PRIVATE __declspec(dllimport) #endif // defined(NET_IMPLEMENTATION) #else // defined(WIN32) #if defined(NET_IMPLEMENTATION) #define NET_EXPORT __attribute__((visibility("default"))) #define NET_EXPORT_PRIVATE __attribute__((visibility("default"))) #else #define NET_EXPORT #define NET_EXPORT_PRIVATE #endif #endif #else /// defined(COMPONENT_BUILD) #define NET_EXPORT #define NET_EXPORT_PRIVATE #endif #endif // NET_BASE_NET_EXPORT_H_