summaryrefslogtreecommitdiff
path: root/chromium/net/base/net_export.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/base/net_export.h')
-rw-r--r--chromium/net/base/net_export.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/chromium/net/base/net_export.h b/chromium/net/base/net_export.h
new file mode 100644
index 00000000000..55cf9861239
--- /dev/null
+++ b/chromium/net/base/net_export.h
@@ -0,0 +1,38 @@
+// 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_
+
+// 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_