summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-05 15:34:00 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-05 15:34:00 +0000
commit0bea7254836d17e3f1e278cbd52e8b8816c49a48 (patch)
treeeb16c01ad0143fad583cd60a87828fd90c94f61a /base
parent93f3edc8adc1db9e3d1deebde0ec58d15b7e1a91 (diff)
downloadchromium_src-0bea7254836d17e3f1e278cbd52e8b8816c49a48.zip
chromium_src-0bea7254836d17e3f1e278cbd52e8b8816c49a48.tar.gz
chromium_src-0bea7254836d17e3f1e278cbd52e8b8816c49a48.tar.bz2
Rename BASE_API to BASE_EXPORT.
R=rvargas Review URL: http://codereview.chromium.org/7461141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95618 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/at_exit.h4
-rw-r--r--base/atomicops_internals_x86_gcc.h6
-rw-r--r--base/base.gypi2
-rw-r--r--base/base64.h6
-rw-r--r--base/base_export.h (renamed from base/base_api.h)14
-rw-r--r--base/callback_internal.h4
-rw-r--r--base/command_line.h4
-rw-r--r--base/cpu.h4
-rw-r--r--base/debug/alias.h4
-rw-r--r--base/debug/debugger.h14
-rw-r--r--base/debug/profiler.h10
-rw-r--r--base/debug/stack_trace.h4
-rw-r--r--base/debug/trace_event.h8
-rw-r--r--base/debug/trace_event_win.h10
-rw-r--r--base/environment.h6
-rw-r--r--base/event_recorder.h4
-rw-r--r--base/file_descriptor_shuffle.h11
-rw-r--r--base/file_path.h4
-rw-r--r--base/file_util.h204
-rw-r--r--base/file_util_deprecated.h25
-rw-r--r--base/file_util_proxy.h4
-rw-r--r--base/file_version_info.h8
-rw-r--r--base/file_version_info_win.h10
-rw-r--r--base/files/file_path_watcher.h4
-rw-r--r--base/global_descriptors_posix.h2
-rw-r--r--base/json/json_reader.h4
-rw-r--r--base/json/json_writer.h4
-rw-r--r--base/json/string_escape.h18
-rw-r--r--base/lazy_instance.h4
-rw-r--r--base/linux_util.h18
-rw-r--r--base/logging.h52
-rw-r--r--base/logging_win.h4
-rw-r--r--base/mac/foundation_util.h61
-rw-r--r--base/mac/mac_util.h56
-rw-r--r--base/mac/objc_property_releaser.h4
-rw-r--r--base/mac/os_crash_dumps.h4
-rw-r--r--base/mac/scoped_nsautorelease_pool.h4
-rw-r--r--base/mac/scoped_nsexception_enabler.h8
-rw-r--r--base/mach_ipc_mac.h10
-rw-r--r--base/md5.h14
-rw-r--r--base/memory/memory_debug.h4
-rw-r--r--base/memory/ref_counted.h6
-rw-r--r--base/memory/ref_counted_memory.h10
-rw-r--r--base/memory/weak_ptr.h8
-rw-r--r--base/message_loop.h14
-rw-r--r--base/message_loop_proxy.h4
-rw-r--r--base/message_loop_proxy_impl.h7
-rw-r--r--base/message_pump.h6
-rw-r--r--base/message_pump_gtk.h2
-rw-r--r--base/message_pump_libevent.h2
-rw-r--r--base/message_pump_win.h12
-rw-r--r--base/message_pump_x.h4
-rw-r--r--base/metrics/field_trial.h6
-rw-r--r--base/metrics/histogram.h14
-rw-r--r--base/metrics/stats_counters.h8
-rw-r--r--base/metrics/stats_table.h4
-rw-r--r--base/mime_util.h10
-rw-r--r--base/native_library.h16
-rw-r--r--base/nix/xdg_util.h16
-rw-r--r--base/path_service.h4
-rw-r--r--base/pickle.h4
-rw-r--r--base/platform_file.h35
-rw-r--r--base/process.h4
-rw-r--r--base/process_util.h134
-rw-r--r--base/rand_util.h16
-rw-r--r--base/rand_util_c.h4
-rw-r--r--base/resource_util.h7
-rw-r--r--base/safe_strerror_posix.h6
-rw-r--r--base/scoped_native_library.h4
-rw-r--r--base/scoped_temp_dir.h4
-rw-r--r--base/sha1.h8
-rw-r--r--base/shared_memory.h4
-rw-r--r--base/string16.h18
-rw-r--r--base/string_number_conversions.h89
-rw-r--r--base/string_piece.h6
-rw-r--r--base/string_split.h54
-rw-r--r--base/string_util.h282
-rw-r--r--base/stringprintf.h27
-rw-r--r--base/sync_socket.h4
-rw-r--r--base/synchronization/cancellation_flag.h4
-rw-r--r--base/synchronization/condition_variable.h4
-rw-r--r--base/synchronization/lock.h4
-rw-r--r--base/synchronization/lock_impl.h4
-rw-r--r--base/synchronization/waitable_event.h4
-rw-r--r--base/synchronization/waitable_event_watcher.h4
-rw-r--r--base/sys_info.h4
-rw-r--r--base/sys_string_conversions.h42
-rw-r--r--base/system_monitor/system_monitor.h6
-rw-r--r--base/task.h8
-rw-r--r--base/task_queue.h4
-rw-r--r--base/third_party/nspr/prtime.h4
-rw-r--r--base/threading/non_thread_safe_impl.h4
-rw-r--r--base/threading/platform_thread.h6
-rw-r--r--base/threading/simple_thread.h12
-rw-r--r--base/threading/thread.h4
-rw-r--r--base/threading/thread_checker_impl.h4
-rw-r--r--base/threading/thread_collision_warner.h14
-rw-r--r--base/threading/thread_local.h4
-rw-r--r--base/threading/thread_local_storage.h6
-rw-r--r--base/threading/thread_restrictions.h8
-rw-r--r--base/threading/watchdog.h4
-rw-r--r--base/threading/worker_pool.h4
-rw-r--r--base/threading/worker_pool_posix.h2
-rw-r--r--base/time.h10
-rw-r--r--base/timer.h4
-rw-r--r--base/tracked.cc2
-rw-r--r--base/tracked.h8
-rw-r--r--base/tracked_objects.h20
-rw-r--r--base/utf_offset_string_conversions.h22
-rw-r--r--base/utf_string_conversion_utils.h29
-rw-r--r--base/utf_string_conversions.h42
-rw-r--r--base/value_conversions.h6
-rw-r--r--base/values.h16
-rw-r--r--base/version.h4
-rw-r--r--base/vlog.h8
-rw-r--r--base/win/event_trace_controller.h6
-rw-r--r--base/win/event_trace_provider.h4
-rw-r--r--base/win/i18n.h6
-rw-r--r--base/win/iat_patch_function.h4
-rw-r--r--base/win/object_watcher.h6
-rw-r--r--base/win/registry.h8
-rw-r--r--base/win/scoped_bstr.h4
-rw-r--r--base/win/scoped_variant.h4
-rw-r--r--base/win/win_util.h31
-rw-r--r--base/win/windows_version.h6
-rw-r--r--base/win/wrapped_window_proc.h6
126 files changed, 978 insertions, 950 deletions
diff --git a/base/at_exit.h b/base/at_exit.h
index 06214d1..9e75a3f 100644
--- a/base/at_exit.h
+++ b/base/at_exit.h
@@ -8,7 +8,7 @@
#include <stack>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/synchronization/lock.h"
@@ -28,7 +28,7 @@ namespace base {
// When the exit_manager object goes out of scope, all the registered
// callbacks and singleton destructors will be called.
-class BASE_API AtExitManager {
+class BASE_EXPORT AtExitManager {
public:
typedef void (*AtExitCallbackType)(void*);
diff --git a/base/atomicops_internals_x86_gcc.h b/base/atomicops_internals_x86_gcc.h
index 297727e..72fd350 100644
--- a/base/atomicops_internals_x86_gcc.h
+++ b/base/atomicops_internals_x86_gcc.h
@@ -8,10 +8,10 @@
#define BASE_ATOMICOPS_INTERNALS_X86_GCC_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
// This struct is not part of the public API of this module; clients may not
-// use it. (However, it's exported via BASE_API because clients implicitly
+// use it. (However, it's exported via BASE_EXPORT because clients implicitly
// do use it at link time by inlining these functions.)
// Features of this x86. Values may not be correct before main() is run,
// but are set conservatively.
@@ -20,7 +20,7 @@ struct AtomicOps_x86CPUFeatureStruct {
// after acquire compare-and-swap.
bool has_sse2; // Processor has SSE2.
};
-BASE_API extern struct AtomicOps_x86CPUFeatureStruct
+BASE_EXPORT extern struct AtomicOps_x86CPUFeatureStruct
AtomicOps_Internalx86CPUFeatures;
#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")
diff --git a/base/base.gypi b/base/base.gypi
index c35b344..ac53560 100644
--- a/base/base.gypi
+++ b/base/base.gypi
@@ -26,7 +26,7 @@
'atomicops.h',
'atomicops_internals_x86_gcc.cc',
'atomicops_internals_x86_msvc.h',
- 'base_api.h',
+ 'base_export.h',
'base_paths.cc',
'base_paths.h',
'base_paths_mac.h',
diff --git a/base/base64.h b/base/base64.h
index e966ea7..df7dc16 100644
--- a/base/base64.h
+++ b/base/base64.h
@@ -8,18 +8,18 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string_piece.h"
namespace base {
// Encodes the input string in base64. Returns true if successful and false
// otherwise. The output string is only modified if successful.
-BASE_API bool Base64Encode(const StringPiece& input, std::string* output);
+BASE_EXPORT bool Base64Encode(const StringPiece& input, std::string* output);
// Decodes the base64 input string. Returns true if successful and false
// otherwise. The output string is only modified if successful.
-BASE_API bool Base64Decode(const StringPiece& input, std::string* output);
+BASE_EXPORT bool Base64Decode(const StringPiece& input, std::string* output);
} // namespace base
diff --git a/base/base_api.h b/base/base_export.h
index deeae07..de3ec26 100644
--- a/base/base_api.h
+++ b/base/base_export.h
@@ -2,25 +2,25 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef BASE_BASE_API_H_
-#define BASE_BASE_API_H_
+#ifndef BASE_BASE_EXPORT_H_
+#define BASE_BASE_EXPORT_H_
#pragma once
#if defined(COMPONENT_BUILD)
#if defined(WIN32)
#if defined(BASE_IMPLEMENTATION)
-#define BASE_API __declspec(dllexport)
+#define BASE_EXPORT __declspec(dllexport)
#else
-#define BASE_API __declspec(dllimport)
+#define BASE_EXPORT __declspec(dllimport)
#endif // defined(BASE_IMPLEMENTATION)
#else // defined(WIN32)
-#define BASE_API __attribute__((visibility("default")))
+#define BASE_EXPORT __attribute__((visibility("default")))
#endif
#else // defined(COMPONENT_BUILD)
-#define BASE_API
+#define BASE_EXPORT
#endif
-#endif // BASE_BASE_API_H_
+#endif // BASE_BASE_EXPORT_H_
diff --git a/base/callback_internal.h b/base/callback_internal.h
index b83b049..1543eca 100644
--- a/base/callback_internal.h
+++ b/base/callback_internal.h
@@ -11,7 +11,7 @@
#include <stddef.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/memory/ref_counted.h"
namespace base {
@@ -54,7 +54,7 @@ InvokerStorageHolder<T> MakeInvokerStorageHolder(T* o) {
// Holds the Callback methods that don't require specialization to reduce
// template bloat.
-class BASE_API CallbackBase {
+class BASE_EXPORT CallbackBase {
public:
// Returns true if Callback is null (doesn't refer to anything).
bool is_null() const;
diff --git a/base/command_line.h b/base/command_line.h
index 3b15e93..a932a05 100644
--- a/base/command_line.h
+++ b/base/command_line.h
@@ -21,12 +21,12 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
class FilePath;
-class BASE_API CommandLine {
+class BASE_EXPORT CommandLine {
public:
#if defined(OS_WIN)
// The native command line string type.
diff --git a/base/cpu.h b/base/cpu.h
index 22ec470..9567f8b5 100644
--- a/base/cpu.h
+++ b/base/cpu.h
@@ -8,12 +8,12 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
// Query information about the processor.
-class BASE_API CPU {
+class BASE_EXPORT CPU {
public:
// Constructor
CPU();
diff --git a/base/debug/alias.h b/base/debug/alias.h
index fcf3653..4946e558 100644
--- a/base/debug/alias.h
+++ b/base/debug/alias.h
@@ -6,7 +6,7 @@
#define BASE_DEBUG_ALIAS_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
namespace debug {
@@ -14,7 +14,7 @@ namespace debug {
// Make the optimizer think that var is aliased. This is to prevent it from
// optimizing out variables that that would not otherwise be live at the point
// of a potential crash.
-void BASE_API Alias(const void* var);
+void BASE_EXPORT Alias(const void* var);
} // namespace debug
} // namespace base
diff --git a/base/debug/debugger.h b/base/debug/debugger.h
index bb937a0..489007b 100644
--- a/base/debug/debugger.h
+++ b/base/debug/debugger.h
@@ -10,18 +10,18 @@
#define BASE_DEBUG_DEBUGGER_H
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
namespace debug {
// Starts the registered system-wide JIT debugger to attach it to specified
// process.
-BASE_API bool SpawnDebuggerOnProcess(unsigned process_id);
+BASE_EXPORT bool SpawnDebuggerOnProcess(unsigned process_id);
// Waits wait_seconds seconds for a debugger to attach to the current process.
// When silent is false, an exception is thrown when a debugger is detected.
-BASE_API bool WaitForDebugger(int wait_seconds, bool silent);
+BASE_EXPORT bool WaitForDebugger(int wait_seconds, bool silent);
// Returns true if the given process is being run under a debugger.
//
@@ -30,18 +30,18 @@ BASE_API bool WaitForDebugger(int wait_seconds, bool silent);
//
// WARNING: Because of this, on OS X, a call MUST be made to this function
// BEFORE the sandbox is enabled.
-BASE_API bool BeingDebugged();
+BASE_EXPORT bool BeingDebugged();
// Break into the debugger, assumes a debugger is present.
-BASE_API void BreakDebugger();
+BASE_EXPORT void BreakDebugger();
// Used in test code, this controls whether showing dialogs and breaking into
// the debugger is suppressed for debug errors, even in debug mode (normally
// release mode doesn't do this stuff -- this is controlled separately).
// Normally UI is not suppressed. This is normally used when running automated
// tests where we want a crash rather than a dialog or a debugger.
-BASE_API void SetSuppressDebugUI(bool suppress);
-BASE_API bool IsDebugUISuppressed();
+BASE_EXPORT void SetSuppressDebugUI(bool suppress);
+BASE_EXPORT bool IsDebugUISuppressed();
} // namespace debug
} // namespace base
diff --git a/base/debug/profiler.h b/base/debug/profiler.h
index 55c0c9f..a8f1297 100644
--- a/base/debug/profiler.h
+++ b/base/debug/profiler.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
// The Profiler functions allow usage of the underlying sampling based
// profiler. If the application has not been built with the necessary
@@ -20,16 +20,16 @@ namespace debug {
// Start profiling with the supplied name.
// {pid} will be replaced by the process' pid and {count} will be replaced
// by the count of the profile run (starts at 1 with each process).
-BASE_API void StartProfiling(const std::string& name);
+BASE_EXPORT void StartProfiling(const std::string& name);
// Stop profiling and write out data.
-BASE_API void StopProfiling();
+BASE_EXPORT void StopProfiling();
// Force data to be written to file.
-BASE_API void FlushProfiling();
+BASE_EXPORT void FlushProfiling();
// Returns true if process is being profiled.
-BASE_API bool BeingProfiled();
+BASE_EXPORT bool BeingProfiled();
} // namespace debug
} // namespace base
diff --git a/base/debug/stack_trace.h b/base/debug/stack_trace.h
index acc7223..02cb01f 100644
--- a/base/debug/stack_trace.h
+++ b/base/debug/stack_trace.h
@@ -8,7 +8,7 @@
#include <iosfwd>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
#if defined(OS_WIN)
@@ -21,7 +21,7 @@ namespace debug {
// A stacktrace can be helpful in debugging. For example, you can include a
// stacktrace member in a object (probably around #ifndef NDEBUG) so that you
// can later see where the given object was created from.
-class BASE_API StackTrace {
+class BASE_EXPORT StackTrace {
public:
// Creates a stacktrace from the current location.
StackTrace();
diff --git a/base/debug/trace_event.h b/base/debug/trace_event.h
index d1c7418..79690f1 100644
--- a/base/debug/trace_event.h
+++ b/base/debug/trace_event.h
@@ -302,7 +302,7 @@ enum TraceEventPhase {
// Simple union of values. This is much lighter weight than base::Value, which
// requires dynamic allocation and a vtable. To keep the trace runtime overhead
// low, we want constant size storage here.
-class BASE_API TraceValue {
+class BASE_EXPORT TraceValue {
public:
enum Type {
TRACE_TYPE_UNDEFINED,
@@ -442,7 +442,7 @@ class TraceEvent {
};
-class BASE_API TraceLog {
+class BASE_EXPORT TraceLog {
public:
static TraceLog* GetInstance();
@@ -527,7 +527,7 @@ class BASE_API TraceLog {
namespace internal {
// Used by TRACE_EVENTx macro. Do not use directly.
-class BASE_API TraceEndOnScopeClose {
+class BASE_EXPORT TraceEndOnScopeClose {
public:
TraceEndOnScopeClose() : p_data_(NULL) {}
~TraceEndOnScopeClose() {
@@ -556,7 +556,7 @@ class BASE_API TraceEndOnScopeClose {
};
// Used by TRACE_EVENTx macro. Do not use directly.
-class BASE_API TraceEndOnScopeCloseThreshold {
+class BASE_EXPORT TraceEndOnScopeCloseThreshold {
public:
TraceEndOnScopeCloseThreshold() : p_data_(NULL) {}
~TraceEndOnScopeCloseThreshold() {
diff --git a/base/debug/trace_event_win.h b/base/debug/trace_event_win.h
index 6e6bcb4..c82782c 100644
--- a/base/debug/trace_event_win.h
+++ b/base/debug/trace_event_win.h
@@ -9,7 +9,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/debug/trace_event.h"
#include "base/win/event_trace_provider.h"
@@ -22,7 +22,7 @@ namespace debug {
// This EtwTraceProvider subclass implements ETW logging
// for the macros above on Windows.
-class BASE_API TraceEventETWProvider : public base::win::EtwTraceProvider {
+class BASE_EXPORT TraceEventETWProvider : public base::win::EtwTraceProvider {
public:
// Start logging trace events.
// This is a noop in this implementation.
@@ -93,13 +93,13 @@ class BASE_API TraceEventETWProvider : public base::win::EtwTraceProvider {
};
// The ETW trace provider GUID.
-BASE_API extern const GUID kChromeTraceProviderName;
+BASE_EXPORT extern const GUID kChromeTraceProviderName;
// The ETW event class GUID for 32 bit events.
-BASE_API extern const GUID kTraceEventClass32;
+BASE_EXPORT extern const GUID kTraceEventClass32;
// The ETW event class GUID for 64 bit events.
-BASE_API extern const GUID kTraceEventClass64;
+BASE_EXPORT extern const GUID kTraceEventClass64;
// The ETW event types, IDs 0x00-0x09 are reserved, so start at 0x10.
const base::win::EtwEventType kTraceEventTypeBegin = 0x10;
diff --git a/base/environment.h b/base/environment.h
index 9d2a662..8a31e07 100644
--- a/base/environment.h
+++ b/base/environment.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
namespace base {
@@ -16,12 +16,12 @@ namespace base {
namespace env_vars {
#if defined(OS_POSIX)
-BASE_API extern const char kHome[];
+BASE_EXPORT extern const char kHome[];
#endif
} // namespace env_vars
-class BASE_API Environment {
+class BASE_EXPORT Environment {
public:
virtual ~Environment();
diff --git a/base/event_recorder.h b/base/event_recorder.h
index 1f7aa61..75a738e 100644
--- a/base/event_recorder.h
+++ b/base/event_recorder.h
@@ -6,7 +6,7 @@
#define BASE_EVENT_RECORDER_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "build/build_config.h"
@@ -33,7 +33,7 @@ namespace base {
// Why? Imagine if the product had a "record a macro" feature.
// You might be recording globally, while recording or playing back
// a macro. I don't think two playbacks make sense.
-class BASE_API EventRecorder {
+class BASE_EXPORT EventRecorder {
public:
// Get the singleton EventRecorder.
// We can only handle one recorder/player at a time.
diff --git a/base/file_descriptor_shuffle.h b/base/file_descriptor_shuffle.h
index 0a649fa..335b008 100644
--- a/base/file_descriptor_shuffle.h
+++ b/base/file_descriptor_shuffle.h
@@ -24,7 +24,7 @@
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
@@ -69,11 +69,12 @@ struct InjectionArc {
typedef std::vector<InjectionArc> InjectiveMultimap;
-BASE_API bool PerformInjectiveMultimap(const InjectiveMultimap& map,
- InjectionDelegate* delegate);
+BASE_EXPORT bool PerformInjectiveMultimap(const InjectiveMultimap& map,
+ InjectionDelegate* delegate);
-BASE_API bool PerformInjectiveMultimapDestructive(InjectiveMultimap* map,
- InjectionDelegate* delegate);
+BASE_EXPORT bool PerformInjectiveMultimapDestructive(
+ InjectiveMultimap* map,
+ InjectionDelegate* delegate);
// This function will not call malloc but will mutate |map|
static inline bool ShuffleFileDescriptors(InjectiveMultimap* map) {
diff --git a/base/file_path.h b/base/file_path.h
index b8f7861..6396833 100644
--- a/base/file_path.h
+++ b/base/file_path.h
@@ -104,7 +104,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/compiler_specific.h"
#include "base/hash_tables.h"
#include "base/string16.h"
@@ -124,7 +124,7 @@ class Pickle;
// An abstraction to isolate users from the differences between native
// pathnames on different platforms.
-class BASE_API FilePath {
+class BASE_EXPORT FilePath {
public:
#if defined(OS_POSIX)
// On most platforms, native pathnames are char arrays, and the encoding
diff --git a/base/file_util.h b/base/file_util.h
index 6d786c2..a6bb972 100644
--- a/base/file_util.h
+++ b/base/file_util.h
@@ -27,7 +27,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/memory/scoped_ptr.h"
@@ -50,19 +50,19 @@ namespace file_util {
// Functions that operate purely on a path string w/o touching the filesystem:
// Returns true if the given path ends with a path separator character.
-BASE_API bool EndsWithSeparator(const FilePath& path);
+BASE_EXPORT bool EndsWithSeparator(const FilePath& path);
// Makes sure that |path| ends with a separator IFF path is a directory that
// exists. Returns true if |path| is an existing directory, false otherwise.
-BASE_API bool EnsureEndsWithSeparator(FilePath* path);
+BASE_EXPORT bool EnsureEndsWithSeparator(FilePath* path);
// Convert provided relative path into an absolute path. Returns false on
// error. On POSIX, this function fails if the path does not exist.
-BASE_API bool AbsolutePath(FilePath* path);
+BASE_EXPORT bool AbsolutePath(FilePath* path);
// Returns true if |parent| contains |child|. Both paths are converted to
// absolute paths before doing the comparison.
-BASE_API bool ContainsPath(const FilePath& parent, const FilePath& child);
+BASE_EXPORT bool ContainsPath(const FilePath& parent, const FilePath& child);
//-----------------------------------------------------------------------------
// Functions that involve filesystem access or modification:
@@ -75,15 +75,15 @@ BASE_API bool ContainsPath(const FilePath& parent, const FilePath& child);
// timestmap of file creation time. If you need to avoid such
// mis-detection perfectly, you should wait one second before
// obtaining |file_time|.
-BASE_API int CountFilesCreatedAfter(const FilePath& path,
- const base::Time& file_time);
+BASE_EXPORT int CountFilesCreatedAfter(const FilePath& path,
+ const base::Time& file_time);
// Returns the total number of bytes used by all the files under |root_path|.
// If the path does not exist the function returns 0.
//
// This function is implemented using the FileEnumerator class so it is not
// particularly speedy in any platform.
-BASE_API int64 ComputeDirectorySize(const FilePath& root_path);
+BASE_EXPORT int64 ComputeDirectorySize(const FilePath& root_path);
// Returns the total number of bytes used by all files matching the provided
// |pattern|, on this |directory| (without recursion). If the path does not
@@ -91,8 +91,8 @@ BASE_API int64 ComputeDirectorySize(const FilePath& root_path);
//
// This function is implemented using the FileEnumerator class so it is not
// particularly speedy in any platform.
-BASE_API int64 ComputeFilesSize(const FilePath& directory,
- const FilePath::StringType& pattern);
+BASE_EXPORT int64 ComputeFilesSize(const FilePath& directory,
+ const FilePath::StringType& pattern);
// Deletes the given path, whether it's a file or a directory.
// If it's a directory, it's perfectly happy to delete all of the
@@ -102,7 +102,7 @@ BASE_API int64 ComputeFilesSize(const FilePath& directory,
//
// WARNING: USING THIS WITH recursive==true IS EQUIVALENT
// TO "rm -rf", SO USE WITH CAUTION.
-BASE_API bool Delete(const FilePath& path, bool recursive);
+BASE_EXPORT bool Delete(const FilePath& path, bool recursive);
#if defined(OS_WIN)
// Schedules to delete the given path, whether it's a file or a directory, until
@@ -110,24 +110,25 @@ BASE_API bool Delete(const FilePath& path, bool recursive);
// Note:
// 1) The file/directory to be deleted should exist in a temp folder.
// 2) The directory to be deleted must be empty.
-BASE_API bool DeleteAfterReboot(const FilePath& path);
+BASE_EXPORT bool DeleteAfterReboot(const FilePath& path);
#endif
// Moves the given path, whether it's a file or a directory.
// If a simple rename is not possible, such as in the case where the paths are
// on different volumes, this will attempt to copy and delete. Returns
// true for success.
-BASE_API bool Move(const FilePath& from_path, const FilePath& to_path);
+BASE_EXPORT bool Move(const FilePath& from_path, const FilePath& to_path);
// Renames file |from_path| to |to_path|. Both paths must be on the same
// volume, or the function will fail. Destination file will be created
// if it doesn't exist. Prefer this function over Move when dealing with
// temporary files. On Windows it preserves attributes of the target file.
// Returns true on success.
-BASE_API bool ReplaceFile(const FilePath& from_path, const FilePath& to_path);
+BASE_EXPORT bool ReplaceFile(const FilePath& from_path,
+ const FilePath& to_path);
// Copies a single file. Use CopyDirectory to copy directories.
-BASE_API bool CopyFile(const FilePath& from_path, const FilePath& to_path);
+BASE_EXPORT bool CopyFile(const FilePath& from_path, const FilePath& to_path);
// Copies the given path, and optionally all subdirectories and their contents
// as well.
@@ -136,61 +137,62 @@ BASE_API bool CopyFile(const FilePath& from_path, const FilePath& to_path);
// Don't use wildcards on the names, it may stop working without notice.
//
// If you only need to copy a file use CopyFile, it's faster.
-BASE_API bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
- bool recursive);
+BASE_EXPORT bool CopyDirectory(const FilePath& from_path,
+ const FilePath& to_path,
+ bool recursive);
// Returns true if the given path exists on the local filesystem,
// false otherwise.
-BASE_API bool PathExists(const FilePath& path);
+BASE_EXPORT bool PathExists(const FilePath& path);
// Returns true if the given path is writable by the user, false otherwise.
-BASE_API bool PathIsWritable(const FilePath& path);
+BASE_EXPORT bool PathIsWritable(const FilePath& path);
// Returns true if the given path exists and is a directory, false otherwise.
-BASE_API bool DirectoryExists(const FilePath& path);
+BASE_EXPORT bool DirectoryExists(const FilePath& path);
#if defined(OS_WIN)
// Gets the creation time of the given file (expressed in the local timezone),
// and returns it via the creation_time parameter. Returns true if successful,
// false otherwise.
-BASE_API bool GetFileCreationLocalTime(const std::wstring& filename,
- LPSYSTEMTIME creation_time);
+BASE_EXPORT bool GetFileCreationLocalTime(const std::wstring& filename,
+ LPSYSTEMTIME creation_time);
// Same as above, but takes a previously-opened file handle instead of a name.
-BASE_API bool GetFileCreationLocalTimeFromHandle(HANDLE file_handle,
- LPSYSTEMTIME creation_time);
+BASE_EXPORT bool GetFileCreationLocalTimeFromHandle(HANDLE file_handle,
+ LPSYSTEMTIME creation_time);
#endif // defined(OS_WIN)
// Returns true if the contents of the two files given are equal, false
// otherwise. If either file can't be read, returns false.
-BASE_API bool ContentsEqual(const FilePath& filename1,
- const FilePath& filename2);
+BASE_EXPORT bool ContentsEqual(const FilePath& filename1,
+ const FilePath& filename2);
// Returns true if the contents of the two text files given are equal, false
// otherwise. This routine treats "\r\n" and "\n" as equivalent.
-BASE_API bool TextContentsEqual(const FilePath& filename1,
- const FilePath& filename2);
+BASE_EXPORT bool TextContentsEqual(const FilePath& filename1,
+ const FilePath& filename2);
// Read the file at |path| into |contents|, returning true on success.
// |contents| may be NULL, in which case this function is useful for its
// side effect of priming the disk cache.
// Useful for unit tests.
-BASE_API bool ReadFileToString(const FilePath& path, std::string* contents);
+BASE_EXPORT bool ReadFileToString(const FilePath& path, std::string* contents);
#if defined(OS_POSIX)
// Read exactly |bytes| bytes from file descriptor |fd|, storing the result
// in |buffer|. This function is protected against EINTR and partial reads.
// Returns true iff |bytes| bytes have been successfuly read from |fd|.
-BASE_API bool ReadFromFD(int fd, char* buffer, size_t bytes);
+BASE_EXPORT bool ReadFromFD(int fd, char* buffer, size_t bytes);
// Creates a symbolic link at |symlink| pointing to |target|. Returns
// false on failure.
-BASE_API bool CreateSymbolicLink(const FilePath& target,
- const FilePath& symlink);
+BASE_EXPORT bool CreateSymbolicLink(const FilePath& target,
+ const FilePath& symlink);
// Reads the given |symlink| and returns where it points to in |target|.
// Returns false upon failure.
-BASE_API bool ReadSymbolicLink(const FilePath& symlink, FilePath* target);
+BASE_EXPORT bool ReadSymbolicLink(const FilePath& symlink, FilePath* target);
#endif // defined(OS_POSIX)
#if defined(OS_WIN)
@@ -198,7 +200,7 @@ BASE_API bool ReadSymbolicLink(const FilePath& symlink, FilePath* target);
// This methods tries to resolve a shortcut .LNK file. If the |path| is valid
// returns true and puts the target into the |path|, otherwise returns
// false leaving the path as it is.
-BASE_API bool ResolveShortcut(FilePath* path);
+BASE_EXPORT bool ResolveShortcut(FilePath* path);
// Create a Windows shortcut (.LNK file)
// This method creates a shortcut link using the information given. Ensure
@@ -209,14 +211,14 @@ BASE_API bool ResolveShortcut(FilePath* path);
// The 'icon' can specify a dll or exe in which case the icon index is the
// resource id. 'app_id' is the app model id for the shortcut on Win7.
// Note that if the shortcut exists it will overwrite it.
-BASE_API bool CreateShortcutLink(const wchar_t *source,
- const wchar_t *destination,
- const wchar_t *working_dir,
- const wchar_t *arguments,
- const wchar_t *description,
- const wchar_t *icon,
- int icon_index,
- const wchar_t* app_id);
+BASE_EXPORT bool CreateShortcutLink(const wchar_t *source,
+ const wchar_t *destination,
+ const wchar_t *working_dir,
+ const wchar_t *arguments,
+ const wchar_t *description,
+ const wchar_t *icon,
+ int icon_index,
+ const wchar_t* app_id);
// Update a Windows shortcut (.LNK file). This method assumes the shortcut
// link already exists (otherwise false is returned). Ensure you have
@@ -225,92 +227,92 @@ BASE_API bool CreateShortcutLink(const wchar_t *source,
// is NULL no changes are made to the shortcut). 'destination' is the link
// file to be updated. 'app_id' is the app model id for the shortcut on Win7.
// For best results pass the filename with the .lnk extension.
-BASE_API bool UpdateShortcutLink(const wchar_t *source,
- const wchar_t *destination,
- const wchar_t *working_dir,
- const wchar_t *arguments,
- const wchar_t *description,
- const wchar_t *icon,
- int icon_index,
- const wchar_t* app_id);
+BASE_EXPORT bool UpdateShortcutLink(const wchar_t *source,
+ const wchar_t *destination,
+ const wchar_t *working_dir,
+ const wchar_t *arguments,
+ const wchar_t *description,
+ const wchar_t *icon,
+ int icon_index,
+ const wchar_t* app_id);
// Pins a shortcut to the Windows 7 taskbar. The shortcut file must already
// exist and be a shortcut that points to an executable.
-BASE_API bool TaskbarPinShortcutLink(const wchar_t* shortcut);
+BASE_EXPORT bool TaskbarPinShortcutLink(const wchar_t* shortcut);
// Unpins a shortcut from the Windows 7 taskbar. The shortcut must exist and
// already be pinned to the taskbar.
-BASE_API bool TaskbarUnpinShortcutLink(const wchar_t* shortcut);
+BASE_EXPORT bool TaskbarUnpinShortcutLink(const wchar_t* shortcut);
// Copy from_path to to_path recursively and then delete from_path recursively.
// Returns true if all operations succeed.
// This function simulates Move(), but unlike Move() it works across volumes.
// This fuction is not transactional.
-BASE_API bool CopyAndDeleteDirectory(const FilePath& from_path,
- const FilePath& to_path);
+BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath& from_path,
+ const FilePath& to_path);
#endif // defined(OS_WIN)
// Return true if the given directory is empty
-BASE_API bool IsDirectoryEmpty(const FilePath& dir_path);
+BASE_EXPORT bool IsDirectoryEmpty(const FilePath& dir_path);
// Get the temporary directory provided by the system.
// WARNING: DON'T USE THIS. If you want to create a temporary file, use one of
// the functions below.
-BASE_API bool GetTempDir(FilePath* path);
+BASE_EXPORT bool GetTempDir(FilePath* path);
// Get a temporary directory for shared memory files.
// Only useful on POSIX; redirects to GetTempDir() on Windows.
-BASE_API bool GetShmemTempDir(FilePath* path);
+BASE_EXPORT bool GetShmemTempDir(FilePath* path);
// Get the home directory. This is more complicated than just getenv("HOME")
// as it knows to fall back on getpwent() etc.
-BASE_API FilePath GetHomeDir();
+BASE_EXPORT FilePath GetHomeDir();
// Creates a temporary file. The full path is placed in |path|, and the
// function returns true if was successful in creating the file. The file will
// be empty and all handles closed after this function returns.
-BASE_API bool CreateTemporaryFile(FilePath* path);
+BASE_EXPORT bool CreateTemporaryFile(FilePath* path);
// Same as CreateTemporaryFile but the file is created in |dir|.
-BASE_API bool CreateTemporaryFileInDir(const FilePath& dir,
- FilePath* temp_file);
+BASE_EXPORT bool CreateTemporaryFileInDir(const FilePath& dir,
+ FilePath* temp_file);
// Create and open a temporary file. File is opened for read/write.
// The full path is placed in |path|.
// Returns a handle to the opened file or NULL if an error occured.
-BASE_API FILE* CreateAndOpenTemporaryFile(FilePath* path);
+BASE_EXPORT FILE* CreateAndOpenTemporaryFile(FilePath* path);
// Like above but for shmem files. Only useful for POSIX.
-BASE_API FILE* CreateAndOpenTemporaryShmemFile(FilePath* path);
+BASE_EXPORT FILE* CreateAndOpenTemporaryShmemFile(FilePath* path);
// Similar to CreateAndOpenTemporaryFile, but the file is created in |dir|.
-BASE_API FILE* CreateAndOpenTemporaryFileInDir(const FilePath& dir,
- FilePath* path);
+BASE_EXPORT FILE* CreateAndOpenTemporaryFileInDir(const FilePath& dir,
+ FilePath* path);
// Create a new directory. If prefix is provided, the new directory name is in
// the format of prefixyyyy.
// NOTE: prefix is ignored in the POSIX implementation.
// If success, return true and output the full path of the directory created.
-BASE_API bool CreateNewTempDirectory(const FilePath::StringType& prefix,
- FilePath* new_temp_path);
+BASE_EXPORT bool CreateNewTempDirectory(const FilePath::StringType& prefix,
+ FilePath* new_temp_path);
// Create a directory within another directory.
// Extra characters will be appended to |prefix| to ensure that the
// new directory does not have the same name as an existing directory.
-BASE_API bool CreateTemporaryDirInDir(const FilePath& base_dir,
- const FilePath::StringType& prefix,
- FilePath* new_dir);
+BASE_EXPORT bool CreateTemporaryDirInDir(const FilePath& base_dir,
+ const FilePath::StringType& prefix,
+ FilePath* new_dir);
// Creates a directory, as well as creating any parent directories, if they
// don't exist. Returns 'true' on successful creation, or if the directory
// already exists. The directory is only readable by the current user.
-BASE_API bool CreateDirectory(const FilePath& full_path);
+BASE_EXPORT bool CreateDirectory(const FilePath& full_path);
// Returns the file size. Returns true on success.
-BASE_API bool GetFileSize(const FilePath& file_path, int64* file_size);
+BASE_EXPORT bool GetFileSize(const FilePath& file_path, int64* file_size);
// Returns true if the given path's base name is ".".
-BASE_API bool IsDot(const FilePath& path);
+BASE_EXPORT bool IsDot(const FilePath& path);
// Returns true if the given path's base name is "..".
-BASE_API bool IsDotDot(const FilePath& path);
+BASE_EXPORT bool IsDotDot(const FilePath& path);
// Sets |real_path| to |path| with symbolic links and junctions expanded.
// On windows, make sure the path starts with a lettered drive.
@@ -318,65 +320,65 @@ BASE_API bool IsDotDot(const FilePath& path);
// a directory or to a nonexistent path. On windows, this function will
// fail if |path| is a junction or symlink that points to an empty file,
// or if |real_path| would be longer than MAX_PATH characters.
-BASE_API bool NormalizeFilePath(const FilePath& path, FilePath* real_path);
+BASE_EXPORT bool NormalizeFilePath(const FilePath& path, FilePath* real_path);
#if defined(OS_WIN)
// Given an existing file in |path|, it returns in |real_path| the path
// in the native NT format, of the form "\Device\HarddiskVolumeXX\..".
// Returns false it it fails. Empty files cannot be resolved with this
// function.
-BASE_API bool NormalizeToNativeFilePath(const FilePath& path,
- FilePath* nt_path);
+BASE_EXPORT bool NormalizeToNativeFilePath(const FilePath& path,
+ FilePath* nt_path);
#endif
// This function will return if the given file is a symlink or not.
-BASE_API bool IsLink(const FilePath& file_path);
+BASE_EXPORT bool IsLink(const FilePath& file_path);
// Returns information about the given file path.
-BASE_API bool GetFileInfo(const FilePath& file_path,
- base::PlatformFileInfo* info);
+BASE_EXPORT bool GetFileInfo(const FilePath& file_path,
+ base::PlatformFileInfo* info);
// Sets the time of the last access and the time of the last modification.
-BASE_API bool TouchFile(const FilePath& path,
- const base::Time& last_accessed,
- const base::Time& last_modified);
+BASE_EXPORT bool TouchFile(const FilePath& path,
+ const base::Time& last_accessed,
+ const base::Time& last_modified);
// Set the time of the last modification. Useful for unit tests.
-BASE_API bool SetLastModifiedTime(const FilePath& path,
- const base::Time& last_modified);
+BASE_EXPORT bool SetLastModifiedTime(const FilePath& path,
+ const base::Time& last_modified);
#if defined(OS_POSIX)
// Store inode number of |path| in |inode|. Return true on success.
-BASE_API bool GetInode(const FilePath& path, ino_t* inode);
+BASE_EXPORT bool GetInode(const FilePath& path, ino_t* inode);
#endif
// Wrapper for fopen-like calls. Returns non-NULL FILE* on success.
-BASE_API FILE* OpenFile(const FilePath& filename, const char* mode);
+BASE_EXPORT FILE* OpenFile(const FilePath& filename, const char* mode);
// Closes file opened by OpenFile. Returns true on success.
-BASE_API bool CloseFile(FILE* file);
+BASE_EXPORT bool CloseFile(FILE* file);
// Truncates an open file to end at the location of the current file pointer.
// This is a cross-platform analog to Windows' SetEndOfFile() function.
-BASE_API bool TruncateFile(FILE* file);
+BASE_EXPORT bool TruncateFile(FILE* file);
// Reads the given number of bytes from the file into the buffer. Returns
// the number of read bytes, or -1 on error.
-BASE_API int ReadFile(const FilePath& filename, char* data, int size);
+BASE_EXPORT int ReadFile(const FilePath& filename, char* data, int size);
// Writes the given buffer into the file, overwriting any data that was
// previously there. Returns the number of bytes written, or -1 on error.
-BASE_API int WriteFile(const FilePath& filename, const char* data, int size);
+BASE_EXPORT int WriteFile(const FilePath& filename, const char* data, int size);
#if defined(OS_POSIX)
// Append the data to |fd|. Does not close |fd| when done.
-BASE_API int WriteFileDescriptor(const int fd, const char* data, int size);
+BASE_EXPORT int WriteFileDescriptor(const int fd, const char* data, int size);
#endif
// Gets the current working directory for the process.
-BASE_API bool GetCurrentDirectory(FilePath* path);
+BASE_EXPORT bool GetCurrentDirectory(FilePath* path);
// Sets the current working directory for the process.
-BASE_API bool SetCurrentDirectory(const FilePath& path);
+BASE_EXPORT bool SetCurrentDirectory(const FilePath& path);
// A class to handle auto-closing of FILE*'s.
class ScopedFILEClose {
@@ -410,7 +412,7 @@ typedef scoped_ptr_malloc<int, ScopedFDClose> ScopedFD;
//
// DO NOT USE FROM THE MAIN THREAD of your application unless it is a test
// program where latency does not matter. This class is blocking.
-class BASE_API FileEnumerator {
+class BASE_EXPORT FileEnumerator {
public:
#if defined(OS_WIN)
typedef WIN32_FIND_DATA FindInfo;
@@ -511,7 +513,7 @@ class BASE_API FileEnumerator {
DISALLOW_COPY_AND_ASSIGN(FileEnumerator);
};
-class BASE_API MemoryMappedFile {
+class BASE_EXPORT MemoryMappedFile {
public:
// The default constructor sets all members to invalid/null values.
MemoryMappedFile();
@@ -566,12 +568,12 @@ class BASE_API MemoryMappedFile {
// Renames a file using the SHFileOperation API to ensure that the target file
// gets the correct default security descriptor in the new path.
-BASE_API bool RenameFileAndResetSecurityDescriptor(
+BASE_EXPORT bool RenameFileAndResetSecurityDescriptor(
const FilePath& source_file_path,
const FilePath& target_file_path);
// Returns whether the file has been modified since a particular date.
-BASE_API bool HasFileBeenModifiedSince(
+BASE_EXPORT bool HasFileBeenModifiedSince(
const FileEnumerator::FindInfo& find_info,
const base::Time& cutoff_time);
@@ -633,8 +635,8 @@ inline bool MakeFileUnreadable(const FilePath& path) {
// is passed in. If it is 0 then the whole file is paged in. The step size
// which indicates the number of bytes to skip after every page touched is
// also passed in.
-bool BASE_API PreReadImage(const wchar_t* file_path, size_t size_to_read,
- size_t step_size);
+bool BASE_EXPORT PreReadImage(const wchar_t* file_path, size_t size_to_read,
+ size_t step_size);
#endif // OS_WIN
#if defined(OS_LINUX)
@@ -654,7 +656,7 @@ enum FileSystemType {
// Attempts determine the FileSystemType for |path|.
// Returns false if |path| doesn't exist.
-BASE_API bool GetFileSystemType(const FilePath& path, FileSystemType* type);
+BASE_EXPORT bool GetFileSystemType(const FilePath& path, FileSystemType* type);
#endif
} // namespace file_util
diff --git a/base/file_util_deprecated.h b/base/file_util_deprecated.h
index 675ee61..e0ebbe0 100644
--- a/base/file_util_deprecated.h
+++ b/base/file_util_deprecated.h
@@ -14,7 +14,7 @@
#define BASE_FILE_UTIL_DEPRECATED_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
// We've successfully deprecated all of these functions on non-Windows
@@ -25,23 +25,24 @@
namespace file_util {
// Use the FilePath versions instead.
-BASE_API FILE* OpenFile(const std::string& filename, const char* mode);
-BASE_API FILE* OpenFile(const std::wstring& filename, const char* mode);
+BASE_EXPORT FILE* OpenFile(const std::string& filename, const char* mode);
+BASE_EXPORT FILE* OpenFile(const std::wstring& filename, const char* mode);
// Appends new_ending to path, adding a separator between the two if necessary.
-BASE_API void AppendToPath(std::wstring* path, const std::wstring& new_ending);
+BASE_EXPORT void AppendToPath(std::wstring* path,
+ const std::wstring& new_ending);
// Use FilePath::Extension instead.
-BASE_API std::wstring GetFileExtensionFromPath(const std::wstring& path);
+BASE_EXPORT std::wstring GetFileExtensionFromPath(const std::wstring& path);
// Use version that takes a FilePath.
-BASE_API bool Delete(const std::wstring& path, bool recursive);
-BASE_API bool CopyDirectory(const std::wstring& from_path,
- const std::wstring& to_path,
- bool recursive);
-BASE_API int ReadFile(const std::wstring& filename, char* data, int size);
-BASE_API int WriteFile(const std::wstring& filename,
- const char* data, int size);
+BASE_EXPORT bool Delete(const std::wstring& path, bool recursive);
+BASE_EXPORT bool CopyDirectory(const std::wstring& from_path,
+ const std::wstring& to_path,
+ bool recursive);
+BASE_EXPORT int ReadFile(const std::wstring& filename, char* data, int size);
+BASE_EXPORT int WriteFile(const std::wstring& filename,
+ const char* data, int size);
}
diff --git a/base/file_util_proxy.h b/base/file_util_proxy.h
index 42b9cca..928004a 100644
--- a/base/file_util_proxy.h
+++ b/base/file_util_proxy.h
@@ -7,7 +7,7 @@
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/callback_old.h"
#include "base/file_path.h"
#include "base/file_util.h"
@@ -21,7 +21,7 @@ class MessageLoopProxy;
class Time;
// This class provides asynchronous access to common file routines.
-class BASE_API FileUtilProxy {
+class BASE_EXPORT FileUtilProxy {
public:
// Holds metadata for file or directory entry. Used by ReadDirectoryCallback.
struct Entry {
diff --git a/base/file_version_info.h b/base/file_version_info.h
index ab9ebe1..b41dc63 100644
--- a/base/file_version_info.h
+++ b/base/file_version_info.h
@@ -16,7 +16,7 @@ extern "C" IMAGE_DOS_HEADER __ImageBase;
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
class FilePath;
@@ -38,14 +38,14 @@ class FileVersionInfo {
// Creates a FileVersionInfo for the specified path. Returns NULL if something
// goes wrong (typically the file does not exit or cannot be opened). The
// returned object should be deleted when you are done with it.
- BASE_API static FileVersionInfo* CreateFileVersionInfo(
+ BASE_EXPORT static FileVersionInfo* CreateFileVersionInfo(
const FilePath& file_path);
#endif // OS_WIN || OS_MACOSX
#if defined(OS_WIN)
// Creates a FileVersionInfo for the specified module. Returns NULL in case
// of error. The returned object should be deleted when you are done with it.
- BASE_API static FileVersionInfo* CreateFileVersionInfoForModule(
+ BASE_EXPORT static FileVersionInfo* CreateFileVersionInfoForModule(
HMODULE module);
// Creates a FileVersionInfo for the current module. Returns NULL in case
@@ -60,7 +60,7 @@ class FileVersionInfo {
#else
// Creates a FileVersionInfo for the current module. Returns NULL in case
// of error. The returned object should be deleted when you are done with it.
- BASE_API static FileVersionInfo* CreateFileVersionInfoForCurrentModule();
+ BASE_EXPORT static FileVersionInfo* CreateFileVersionInfoForCurrentModule();
#endif // OS_WIN
// Accessors to the different version properties.
diff --git a/base/file_version_info_win.h b/base/file_version_info_win.h
index 89ac67e..6a488b4 100644
--- a/base/file_version_info_win.h
+++ b/base/file_version_info_win.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/file_version_info.h"
#include "base/memory/scoped_ptr.h"
@@ -18,8 +18,8 @@ typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO;
class FileVersionInfoWin : public FileVersionInfo {
public:
- BASE_API FileVersionInfoWin(void* data, int language, int code_page);
- BASE_API ~FileVersionInfoWin();
+ BASE_EXPORT FileVersionInfoWin(void* data, int language, int code_page);
+ BASE_EXPORT ~FileVersionInfoWin();
// Accessors to the different version properties.
// Returns an empty string if the property is not found.
@@ -41,11 +41,11 @@ class FileVersionInfoWin : public FileVersionInfo {
virtual bool is_official_build();
// Lets you access other properties not covered above.
- BASE_API bool GetValue(const wchar_t* name, std::wstring* value);
+ BASE_EXPORT bool GetValue(const wchar_t* name, std::wstring* value);
// Similar to GetValue but returns a wstring (empty string if the property
// does not exist).
- BASE_API std::wstring GetStringValue(const wchar_t* name);
+ BASE_EXPORT std::wstring GetStringValue(const wchar_t* name);
// Get the fixed file info if it exists. Otherwise NULL
VS_FIXEDFILEINFO* fixed_file_info() { return fixed_file_info_; }
diff --git a/base/files/file_path_watcher.h b/base/files/file_path_watcher.h
index ec41f53..580ec99 100644
--- a/base/files/file_path_watcher.h
+++ b/base/files/file_path_watcher.h
@@ -8,7 +8,7 @@
#define BASE_FILES_FILE_PATH_WATCHER_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/memory/ref_counted.h"
@@ -26,7 +26,7 @@ namespace files {
// detect the creation and deletion of files in a watched directory, but will
// not detect modifications to those files. See file_path_watcher_mac.cc for
// details.
-class BASE_API FilePathWatcher {
+class BASE_EXPORT FilePathWatcher {
public:
// Declares the callback client code implements to receive notifications. Note
// that implementations of this interface should not keep a reference to the
diff --git a/base/global_descriptors_posix.h b/base/global_descriptors_posix.h
index d4650e5..452afa7 100644
--- a/base/global_descriptors_posix.h
+++ b/base/global_descriptors_posix.h
@@ -34,7 +34,7 @@ namespace base {
// It maps from an abstract key to a descriptor. If independent modules each
// need to define keys, then values should be chosen randomly so as not to
// collide.
-class BASE_API GlobalDescriptors {
+class BASE_EXPORT GlobalDescriptors {
public:
typedef uint32_t Key;
typedef std::vector<std::pair<Key, int> > Mapping;
diff --git a/base/json/json_reader.h b/base/json/json_reader.h
index 46e450c..f6ad9da 100644
--- a/base/json/json_reader.h
+++ b/base/json/json_reader.h
@@ -34,7 +34,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
// Chromium and Chromium OS check out gtest to different places, so we're
@@ -47,7 +47,7 @@ namespace base {
class Value;
-class BASE_API JSONReader {
+class BASE_EXPORT JSONReader {
public:
// A struct to hold a JS token.
class Token {
diff --git a/base/json/json_writer.h b/base/json/json_writer.h
index 36331bb..1eeecb9 100644
--- a/base/json/json_writer.h
+++ b/base/json/json_writer.h
@@ -8,14 +8,14 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
class Value;
-class BASE_API JSONWriter {
+class BASE_EXPORT JSONWriter {
public:
// Given a root node, generates a JSON string and puts it into |json|.
// If |pretty_print| is true, return a slightly nicer formated json string
diff --git a/base/json/string_escape.h b/base/json/string_escape.h
index e12e0bb..1c79ab5 100644
--- a/base/json/string_escape.h
+++ b/base/json/string_escape.h
@@ -10,7 +10,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
namespace base {
@@ -20,19 +20,19 @@ namespace base {
// If |put_in_quotes| is true, the result will be surrounded in double quotes.
// The outputted literal, when interpreted by the browser, should result in a
// javascript string that is identical and the same length as the input |str|.
-BASE_API void JsonDoubleQuote(const std::string& str,
- bool put_in_quotes,
- std::string* dst);
+BASE_EXPORT void JsonDoubleQuote(const std::string& str,
+ bool put_in_quotes,
+ std::string* dst);
// Same as above, but always returns the result double quoted.
-BASE_API std::string GetDoubleQuotedJson(const std::string& str);
+BASE_EXPORT std::string GetDoubleQuotedJson(const std::string& str);
-BASE_API void JsonDoubleQuote(const string16& str,
- bool put_in_quotes,
- std::string* dst);
+BASE_EXPORT void JsonDoubleQuote(const string16& str,
+ bool put_in_quotes,
+ std::string* dst);
// Same as above, but always returns the result double quoted.
-BASE_API std::string GetDoubleQuotedJson(const string16& str);
+BASE_EXPORT std::string GetDoubleQuotedJson(const string16& str);
} // namespace base
diff --git a/base/lazy_instance.h b/base/lazy_instance.h
index 49c7b8c..c6785f3 100644
--- a/base/lazy_instance.h
+++ b/base/lazy_instance.h
@@ -39,7 +39,7 @@
#include <new> // For placement new.
#include "base/atomicops.h"
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
#include "base/threading/thread_restrictions.h"
@@ -81,7 +81,7 @@ void (*LeakyLazyInstanceTraits<Type>::Delete)(void* instance) = NULL;
// We pull out some of the functionality into a non-templated base, so that we
// can implement the more complicated pieces out of line in the .cc file.
-class BASE_API LazyInstanceHelper {
+class BASE_EXPORT LazyInstanceHelper {
protected:
enum {
STATE_EMPTY = 0,
diff --git a/base/linux_util.h b/base/linux_util.h
index d33cb88..4f2808b 100644
--- a/base/linux_util.h
+++ b/base/linux_util.h
@@ -11,7 +11,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
@@ -19,29 +19,29 @@ static const char kFindInodeSwitch[] = "--find-inode";
// This is declared here so the crash reporter can access the memory directly
// in compromised context without going through the standard library.
-BASE_API extern char g_linux_distro[];
+BASE_EXPORT extern char g_linux_distro[];
// Get the Linux Distro if we can, or return "Unknown".
-BASE_API std::string GetLinuxDistro();
+BASE_EXPORT std::string GetLinuxDistro();
// Set the Linux Distro string.
-BASE_API void SetLinuxDistro(const std::string& distro);
+BASE_EXPORT void SetLinuxDistro(const std::string& distro);
// Return the inode number for the UNIX domain socket |fd|.
-BASE_API bool FileDescriptorGetInode(ino_t* inode_out, int fd);
+BASE_EXPORT bool FileDescriptorGetInode(ino_t* inode_out, int fd);
// Find the process which holds the given socket, named by inode number. If
// multiple processes hold the socket, this function returns false.
-BASE_API bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode);
+BASE_EXPORT bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode);
// For a given process |pid|, look through all its threads and find the first
// thread with /proc/[pid]/task/[thread_id]/syscall whose first N bytes matches
// |expected_data|, where N is the length of |expected_data|.
// Returns the thread id or -1 on error. If |syscall_supported| is
// set to false the kernel does not support syscall in procfs.
-BASE_API pid_t FindThreadIDWithSyscall(pid_t pid,
- const std::string& expected_data,
- bool* syscall_supported);
+BASE_EXPORT pid_t FindThreadIDWithSyscall(pid_t pid,
+ const std::string& expected_data,
+ bool* syscall_supported);
} // namespace base
diff --git a/base/logging.h b/base/logging.h
index 0a3a6a3..c18fada 100644
--- a/base/logging.h
+++ b/base/logging.h
@@ -11,7 +11,7 @@
#include <cstring>
#include <sstream>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "build/build_config.h"
@@ -193,11 +193,11 @@ typedef char PathChar;
// Implementation of the InitLogging() method declared below. We use a
// more-specific name so we can #define it above without affecting other code
// that has named stuff "InitLogging".
-BASE_API bool BaseInitLoggingImpl(const PathChar* log_file,
- LoggingDestination logging_dest,
- LogLockingState lock_log,
- OldFileDeletionState delete_old,
- DcheckState dcheck_state);
+BASE_EXPORT bool BaseInitLoggingImpl(const PathChar* log_file,
+ LoggingDestination logging_dest,
+ LogLockingState lock_log,
+ OldFileDeletionState delete_old,
+ DcheckState dcheck_state);
// Sets the log file name and other global logging state. Calling this function
// is recommended, and is normally done at the beginning of application init.
@@ -224,19 +224,19 @@ inline bool InitLogging(const PathChar* log_file,
// up to level INFO) if this function is not called.
// Note that log messages for VLOG(x) are logged at level -x, so setting
// the min log level to negative values enables verbose logging.
-BASE_API void SetMinLogLevel(int level);
+BASE_EXPORT void SetMinLogLevel(int level);
// Gets the current log level.
-BASE_API int GetMinLogLevel();
+BASE_EXPORT int GetMinLogLevel();
// Gets the VLOG default verbosity level.
-BASE_API int GetVlogVerbosity();
+BASE_EXPORT int GetVlogVerbosity();
// Gets the current vlog level for the given file (usually taken from
// __FILE__).
// Note that |N| is the size *with* the null terminator.
-BASE_API int GetVlogLevelHelper(const char* file_start, size_t N);
+BASE_EXPORT int GetVlogLevelHelper(const char* file_start, size_t N);
template <size_t N>
int GetVlogLevel(const char (&file)[N]) {
@@ -247,27 +247,27 @@ int GetVlogLevel(const char (&file)[N]) {
// process and thread IDs default to off, the timestamp defaults to on.
// If this function is not called, logging defaults to writing the timestamp
// only.
-BASE_API void SetLogItems(bool enable_process_id, bool enable_thread_id,
- bool enable_timestamp, bool enable_tickcount);
+BASE_EXPORT void SetLogItems(bool enable_process_id, bool enable_thread_id,
+ bool enable_timestamp, bool enable_tickcount);
// Sets whether or not you'd like to see fatal debug messages popped up in
// a dialog box or not.
// Dialogs are not shown by default.
-BASE_API void SetShowErrorDialogs(bool enable_dialogs);
+BASE_EXPORT void SetShowErrorDialogs(bool enable_dialogs);
// Sets the Log Assert Handler that will be used to notify of check failures.
// The default handler shows a dialog box and then terminate the process,
// however clients can use this function to override with their own handling
// (e.g. a silent one for Unit Tests)
typedef void (*LogAssertHandlerFunction)(const std::string& str);
-BASE_API void SetLogAssertHandler(LogAssertHandlerFunction handler);
+BASE_EXPORT void SetLogAssertHandler(LogAssertHandlerFunction handler);
// Sets the Log Report Handler that will be used to notify of check failures
// in non-debug mode. The default handler shows a dialog box and continues
// the execution, however clients can use this function to override with their
// own handling.
typedef void (*LogReportHandlerFunction)(const std::string& str);
-BASE_API void SetLogReportHandler(LogReportHandlerFunction handler);
+BASE_EXPORT void SetLogReportHandler(LogReportHandlerFunction handler);
// Sets the Log Message Handler that gets passed every log message before
// it's sent to other log destinations (if any).
@@ -275,8 +275,8 @@ BASE_API void SetLogReportHandler(LogReportHandlerFunction handler);
// should not be sent to other log destinations.
typedef bool (*LogMessageHandlerFunction)(int severity,
const char* file, int line, size_t message_start, const std::string& str);
-BASE_API void SetLogMessageHandler(LogMessageHandlerFunction handler);
-BASE_API LogMessageHandlerFunction GetLogMessageHandler();
+BASE_EXPORT void SetLogMessageHandler(LogMessageHandlerFunction handler);
+BASE_EXPORT LogMessageHandlerFunction GetLogMessageHandler();
typedef int LogSeverity;
const LogSeverity LOG_VERBOSE = -1; // This is level 1 verbosity
@@ -623,7 +623,7 @@ enum { DEBUG_MODE = ENABLE_DLOG };
COMPACT_GOOGLE_LOG_EX_ERROR_REPORT(ClassName , ##__VA_ARGS__)
#define COMPACT_GOOGLE_LOG_DCHECK COMPACT_GOOGLE_LOG_ERROR_REPORT
const LogSeverity LOG_DCHECK = LOG_ERROR_REPORT;
-BASE_API extern DcheckState g_dcheck_state;
+BASE_EXPORT extern DcheckState g_dcheck_state;
#define DCHECK_IS_ON() \
((::logging::g_dcheck_state == \
::logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \
@@ -722,7 +722,7 @@ const LogSeverity LOG_DCHECK = LOG_INFO;
// You shouldn't actually use LogMessage's constructor to log things,
// though. You should use the LOG() macro (and variants thereof)
// above.
-class BASE_API LogMessage {
+class BASE_EXPORT LogMessage {
public:
LogMessage(const char* file, int line, LogSeverity severity, int ctr);
@@ -816,11 +816,11 @@ typedef int SystemErrorCode;
// Alias for ::GetLastError() on Windows and errno on POSIX. Avoids having to
// pull in windows.h just for GetLastError() and DWORD.
-BASE_API SystemErrorCode GetLastSystemErrorCode();
+BASE_EXPORT SystemErrorCode GetLastSystemErrorCode();
#if defined(OS_WIN)
// Appends a formatted system message of the GetLastError() type.
-class BASE_API Win32ErrorLogMessage {
+class BASE_EXPORT Win32ErrorLogMessage {
public:
Win32ErrorLogMessage(const char* file,
int line,
@@ -848,7 +848,7 @@ class BASE_API Win32ErrorLogMessage {
};
#elif defined(OS_POSIX)
// Appends a formatted system message of the errno type
-class BASE_API ErrnoLogMessage {
+class BASE_EXPORT ErrnoLogMessage {
public:
ErrnoLogMessage(const char* file,
int line,
@@ -872,10 +872,10 @@ class BASE_API ErrnoLogMessage {
// NOTE: Since the log file is opened as necessary by the action of logging
// statements, there's no guarantee that it will stay closed
// after this call.
-BASE_API void CloseLogFile();
+BASE_EXPORT void CloseLogFile();
// Async signal safe logging mechanism.
-BASE_API void RawLog(int level, const char* message);
+BASE_EXPORT void RawLog(int level, const char* message);
#define RAW_LOG(level, message) logging::RawLog(logging::LOG_ ## level, message)
@@ -893,7 +893,7 @@ BASE_API void RawLog(int level, const char* message);
// which is normally ASCII. It is relatively slow, so try not to use it for
// common cases. Non-ASCII characters will be converted to UTF-8 by these
// operators.
-BASE_API std::ostream& operator<<(std::ostream& out, const wchar_t* wstr);
+BASE_EXPORT std::ostream& operator<<(std::ostream& out, const wchar_t* wstr);
inline std::ostream& operator<<(std::ostream& out, const std::wstring& wstr) {
return out << wstr.c_str();
}
@@ -945,7 +945,7 @@ namespace base {
class StringPiece;
// Allows StringPiece to be logged.
-BASE_API std::ostream& operator<<(std::ostream& o, const StringPiece& piece);
+BASE_EXPORT std::ostream& operator<<(std::ostream& o, const StringPiece& piece);
} // namespace base
diff --git a/base/logging_win.h b/base/logging_win.h
index bd69df9..d0758cd 100644
--- a/base/logging_win.h
+++ b/base/logging_win.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/win/event_trace_provider.h"
#include "base/logging.h"
@@ -50,7 +50,7 @@ enum LogMessageTypes {
// Trace provider class to drive log control and transport
// with Event Tracing for Windows.
-class BASE_API LogEventProvider : public base::win::EtwTraceProvider {
+class BASE_EXPORT LogEventProvider : public base::win::EtwTraceProvider {
public:
static LogEventProvider* GetInstance();
diff --git a/base/mac/foundation_util.h b/base/mac/foundation_util.h
index 37c2ff1..2e7757e 100644
--- a/base/mac/foundation_util.h
+++ b/base/mac/foundation_util.h
@@ -11,7 +11,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/logging.h"
#if defined(__OBJC__)
@@ -36,25 +36,25 @@ namespace base {
namespace mac {
// Returns true if the application is running from a bundle
-BASE_API bool AmIBundled();
-BASE_API void SetOverrideAmIBundled(bool value);
+BASE_EXPORT bool AmIBundled();
+BASE_EXPORT void SetOverrideAmIBundled(bool value);
// Returns true if this process is marked as a "Background only process".
-BASE_API bool IsBackgroundOnlyProcess();
+BASE_EXPORT bool IsBackgroundOnlyProcess();
// Returns the main bundle or the override, used for code that needs
// to fetch resources from bundles, but work within a unittest where we
// aren't a bundle.
-BASE_API NSBundle* MainAppBundle();
-BASE_API FilePath MainAppBundlePath();
+BASE_EXPORT NSBundle* MainAppBundle();
+BASE_EXPORT FilePath MainAppBundlePath();
// Returns the path to a resource within the MainAppBundle.
FilePath PathForMainAppBundleResource(CFStringRef resourceName);
// Set the bundle that MainAppBundle will return, overriding the default value
// (Restore the default by calling SetOverrideAppBundle(nil)).
-BASE_API void SetOverrideAppBundle(NSBundle* bundle);
-BASE_API void SetOverrideAppBundlePath(const FilePath& file_path);
+BASE_EXPORT void SetOverrideAppBundle(NSBundle* bundle);
+BASE_EXPORT void SetOverrideAppBundlePath(const FilePath& file_path);
// Returns the creator code associated with the CFBundleRef at bundle.
OSType CreatorCodeForCFBundleRef(CFBundleRef bundle);
@@ -65,7 +65,7 @@ OSType CreatorCodeForCFBundleRef(CFBundleRef bundle);
// does not respect the override app bundle because it's based on CFBundle
// instead of NSBundle, and because callers probably don't want the override
// app bundle's creator code anyway.
-BASE_API OSType CreatorCodeForApplication();
+BASE_EXPORT OSType CreatorCodeForApplication();
// Searches for directories for the given key in only the given |domain_mask|.
// If found, fills result (which must always be non-NULL) with the
@@ -77,34 +77,34 @@ bool GetSearchPathDirectory(NSSearchPathDirectory directory,
// Searches for directories for the given key in only the local domain.
// If found, fills result (which must always be non-NULL) with the
// first found directory and returns true. Otherwise, returns false.
-BASE_API bool GetLocalDirectory(NSSearchPathDirectory directory,
- FilePath* result);
+BASE_EXPORT bool GetLocalDirectory(NSSearchPathDirectory directory,
+ FilePath* result);
// Searches for directories for the given key in only the user domain.
// If found, fills result (which must always be non-NULL) with the
// first found directory and returns true. Otherwise, returns false.
-BASE_API bool GetUserDirectory(NSSearchPathDirectory directory,
- FilePath* result);
+BASE_EXPORT bool GetUserDirectory(NSSearchPathDirectory directory,
+ FilePath* result);
// Returns the ~/Library directory.
-BASE_API FilePath GetUserLibraryPath();
+BASE_EXPORT FilePath GetUserLibraryPath();
// Takes a path to an (executable) binary and tries to provide the path to an
// application bundle containing it. It takes the outermost bundle that it can
// find (so for "/Foo/Bar.app/.../Baz.app/..." it produces "/Foo/Bar.app").
// |exec_name| - path to the binary
// returns - path to the application bundle, or empty on error
-BASE_API FilePath GetAppBundlePath(const FilePath& exec_name);
+BASE_EXPORT FilePath GetAppBundlePath(const FilePath& exec_name);
// Utility function to pull out a value from a dictionary, check its type, and
// return it. Returns NULL if the key is not present or of the wrong type.
-BASE_API CFTypeRef GetValueFromDictionary(CFDictionaryRef dict,
- CFStringRef key,
- CFTypeID expected_type);
+BASE_EXPORT CFTypeRef GetValueFromDictionary(CFDictionaryRef dict,
+ CFStringRef key,
+ CFTypeID expected_type);
// Retain/release calls for memory management in C++.
-BASE_API void NSObjectRetain(void* obj);
-BASE_API void NSObjectRelease(void* obj);
+BASE_EXPORT void NSObjectRetain(void* obj);
+BASE_EXPORT void NSObjectRelease(void* obj);
// CFTypeRefToNSObjectAutorelease transfers ownership of a Core Foundation
// object (one derived from CFTypeRef) to the Foundation memory management
@@ -123,16 +123,16 @@ BASE_API void NSObjectRelease(void* obj);
// returned NSObject.
//
// Returns an id, typed here for C++'s sake as a void*.
-BASE_API void* CFTypeRefToNSObjectAutorelease(CFTypeRef cf_object);
+BASE_EXPORT void* CFTypeRefToNSObjectAutorelease(CFTypeRef cf_object);
// Returns the base bundle ID, which can be set by SetBaseBundleID but
// defaults to a reasonable string. This never returns NULL. BaseBundleID
// returns a pointer to static storage that must not be freed.
-BASE_API const char* BaseBundleID();
+BASE_EXPORT const char* BaseBundleID();
// Sets the base bundle ID to override the default. The implementation will
// make its own copy of new_base_bundle_id.
-BASE_API void SetBaseBundleID(const char* new_base_bundle_id);
+BASE_EXPORT void SetBaseBundleID(const char* new_base_bundle_id);
} // namespace mac
} // namespace base
@@ -161,8 +161,8 @@ OBJC_CPP_CLASS_DECL(TypeNS) \
\
namespace base { \
namespace mac { \
-BASE_API TypeNS* CFToNSCast(TypeCF##Ref cf_val); \
-BASE_API TypeCF##Ref NSToCFCast(TypeNS* ns_val); \
+BASE_EXPORT TypeNS* CFToNSCast(TypeCF##Ref cf_val); \
+BASE_EXPORT TypeCF##Ref NSToCFCast(TypeNS* ns_val); \
} \
} \
@@ -172,8 +172,8 @@ OBJC_CPP_CLASS_DECL(NSMutable##name) \
\
namespace base { \
namespace mac { \
-BASE_API NSMutable##name* CFToNSCast(CFMutable##name##Ref cf_val); \
-BASE_API CFMutable##name##Ref NSToCFCast(NSMutable##name* ns_val); \
+BASE_EXPORT NSMutable##name* CFToNSCast(CFMutable##name##Ref cf_val); \
+BASE_EXPORT CFMutable##name##Ref NSToCFCast(NSMutable##name* ns_val); \
} \
} \
@@ -203,8 +203,9 @@ CF_TO_NS_CAST_DECL(CFURL, NSURL);
// e.g. LOG(INFO) << base::mac::NSToCFCast(@"foo");
// Operator << can not be overloaded for ObjectiveC types as the compiler
// can not distinguish between overloads for id with overloads for void*.
-BASE_API extern std::ostream& operator<<(std::ostream& o, const CFErrorRef err);
-BASE_API extern std::ostream& operator<<(std::ostream& o,
- const CFStringRef str);
+BASE_EXPORT extern std::ostream& operator<<(std::ostream& o,
+ const CFErrorRef err);
+BASE_EXPORT extern std::ostream& operator<<(std::ostream& o,
+ const CFStringRef str);
#endif // BASE_MAC_FOUNDATION_UTIL_H_
diff --git a/base/mac/mac_util.h b/base/mac/mac_util.h
index 67151a7..e3ee0db 100644
--- a/base/mac/mac_util.h
+++ b/base/mac/mac_util.h
@@ -10,7 +10,7 @@
#include <Carbon/Carbon.h>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/logging.h"
// TODO(rohitrao): Clean up sites that include mac_util.h and remove this line.
@@ -40,22 +40,22 @@ enum FullScreenMode {
kFullScreenModeNormal = 10,
};
-BASE_API std::string PathFromFSRef(const FSRef& ref);
-BASE_API bool FSRefFromPath(const std::string& path, FSRef* ref);
+BASE_EXPORT std::string PathFromFSRef(const FSRef& ref);
+BASE_EXPORT bool FSRefFromPath(const std::string& path, FSRef* ref);
// Returns an sRGB color space. The return value is a static value; do not
// release it!
-BASE_API CGColorSpaceRef GetSRGBColorSpace();
+BASE_EXPORT CGColorSpaceRef GetSRGBColorSpace();
// Returns the color space being used by the main display. The return value
// is a static value; do not release it!
-BASE_API CGColorSpaceRef GetSystemColorSpace();
+BASE_EXPORT CGColorSpaceRef GetSystemColorSpace();
// Add a full screen request for the given |mode|. Must be paired with a
// ReleaseFullScreen() call for the same |mode|. This does not by itself create
// a fullscreen window; rather, it manages per-application state related to
// hiding the dock and menubar. Must be called on the main thread.
-BASE_API void RequestFullScreen(FullScreenMode mode);
+BASE_EXPORT void RequestFullScreen(FullScreenMode mode);
// Release a request for full screen mode. Must be matched with a
// RequestFullScreen() call for the same |mode|. As with RequestFullScreen(),
@@ -63,45 +63,45 @@ BASE_API void RequestFullScreen(FullScreenMode mode);
// state. For example, if there are no other outstanding
// |kFullScreenModeAutoHideAll| requests, this will reshow the menu bar. Must
// be called on main thread.
-BASE_API void ReleaseFullScreen(FullScreenMode mode);
+BASE_EXPORT void ReleaseFullScreen(FullScreenMode mode);
// Convenience method to switch the current fullscreen mode. This has the same
// net effect as a ReleaseFullScreen(from_mode) call followed immediately by a
// RequestFullScreen(to_mode). Must be called on the main thread.
-BASE_API void SwitchFullScreenModes(FullScreenMode from_mode,
- FullScreenMode to_mode);
+BASE_EXPORT void SwitchFullScreenModes(FullScreenMode from_mode,
+ FullScreenMode to_mode);
// Set the visibility of the cursor.
-BASE_API void SetCursorVisibility(bool visible);
+BASE_EXPORT void SetCursorVisibility(bool visible);
// Should windows miniaturize on a double-click (on the title bar)?
-BASE_API bool ShouldWindowsMiniaturizeOnDoubleClick();
+BASE_EXPORT bool ShouldWindowsMiniaturizeOnDoubleClick();
// Activates the process with the given PID.
-BASE_API void ActivateProcess(pid_t pid);
+BASE_EXPORT void ActivateProcess(pid_t pid);
// Returns true if this process is in the foreground, meaning that it's the
// frontmost process, the one whose menu bar is shown at the top of the main
// display.
-BASE_API bool AmIForeground();
+BASE_EXPORT bool AmIForeground();
// Excludes the file given by |file_path| from being backed up by Time Machine.
-BASE_API bool SetFileBackupExclusion(const FilePath& file_path);
+BASE_EXPORT bool SetFileBackupExclusion(const FilePath& file_path);
// Sets the process name as displayed in Activity Monitor to process_name.
-BASE_API void SetProcessName(CFStringRef process_name);
+BASE_EXPORT void SetProcessName(CFStringRef process_name);
// Converts a NSImage to a CGImageRef. Normally, the system frameworks can do
// this fine, especially on 10.6. On 10.5, however, CGImage cannot handle
// converting a PDF-backed NSImage into a CGImageRef. This function will
// rasterize the PDF into a bitmap CGImage. The caller is responsible for
// releasing the return value.
-BASE_API CGImageRef CopyNSImageToCGImage(NSImage* image);
+BASE_EXPORT CGImageRef CopyNSImageToCGImage(NSImage* image);
// Checks if the current application is set as a Login Item, so it will launch
// on Login. If a non-NULL pointer to is_hidden is passed, the Login Item also
// is queried for the 'hide on launch' flag.
-BASE_API bool CheckLoginItemStatus(bool* is_hidden);
+BASE_EXPORT bool CheckLoginItemStatus(bool* is_hidden);
// Adds current application to the set of Login Items with specified "hide"
// flag. This has the same effect as adding/removing the application in
@@ -109,14 +109,14 @@ BASE_API bool CheckLoginItemStatus(bool* is_hidden);
// as "Options->Open on Login".
// Does nothing if the application is already set up as Login Item with
// specified hide flag.
-BASE_API void AddToLoginItems(bool hide_on_startup);
+BASE_EXPORT void AddToLoginItems(bool hide_on_startup);
// Removes the current application from the list Of Login Items.
-BASE_API void RemoveFromLoginItems();
+BASE_EXPORT void RemoveFromLoginItems();
// Returns true if the current process was automatically launched as a
// 'Login Item' with 'hide on startup' flag. Used to suppress opening windows.
-BASE_API bool WasLaunchedAsHiddenLoginItem();
+BASE_EXPORT bool WasLaunchedAsHiddenLoginItem();
// Run-time OS version checks. Use these instead of
// base::SysInfo::OperatingSystemVersionNumbers. Prefer the "OrEarlier" and
@@ -124,22 +124,22 @@ BASE_API bool WasLaunchedAsHiddenLoginItem();
// know for sure that you need to check for a specific version.
// Leopard is Mac OS X 10.5, Darwin 9.
-BASE_API bool IsOSLeopard();
-BASE_API bool IsOSLeopardOrEarlier();
+BASE_EXPORT bool IsOSLeopard();
+BASE_EXPORT bool IsOSLeopardOrEarlier();
// Snow Leopard is Mac OS X 10.6, Darwin 10.
-BASE_API bool IsOSSnowLeopard();
-BASE_API bool IsOSSnowLeopardOrEarlier();
-BASE_API bool IsOSSnowLeopardOrLater();
+BASE_EXPORT bool IsOSSnowLeopard();
+BASE_EXPORT bool IsOSSnowLeopardOrEarlier();
+BASE_EXPORT bool IsOSSnowLeopardOrLater();
// Lion is Mac OS X 10.7, Darwin 11.
-BASE_API bool IsOSLion();
-BASE_API bool IsOSLionOrLater();
+BASE_EXPORT bool IsOSLion();
+BASE_EXPORT bool IsOSLionOrLater();
// This should be infrequently used. It only makes sense to use this to avoid
// codepaths that are very likely to break on future (unreleased, untested,
// unborn) OS releases.
-BASE_API bool IsOSLaterThanLion();
+BASE_EXPORT bool IsOSLaterThanLion();
// When the deployment target is set, the code produced cannot run on earlier
// OS releases. That enables some of the IsOS* family to be implemented as
diff --git a/base/mac/objc_property_releaser.h b/base/mac/objc_property_releaser.h
index 58c9b66..0772c43 100644
--- a/base/mac/objc_property_releaser.h
+++ b/base/mac/objc_property_releaser.h
@@ -8,7 +8,7 @@
#import <Foundation/Foundation.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
namespace mac {
@@ -83,7 +83,7 @@ namespace mac {
// will only operate on instance variables in the immediate object in which
// the property releaser is placed.
-class BASE_API ObjCPropertyReleaser {
+class BASE_EXPORT ObjCPropertyReleaser {
public:
// ObjCPropertyReleaser can only be owned by an Objective-C object, so its
// memory is always guaranteed to be 0-initialized. Not defining the default
diff --git a/base/mac/os_crash_dumps.h b/base/mac/os_crash_dumps.h
index 6e74365..31d90fb 100644
--- a/base/mac/os_crash_dumps.h
+++ b/base/mac/os_crash_dumps.h
@@ -5,7 +5,7 @@
#ifndef BASE_MAC_OS_CRASH_DUMPS_H_
#define BASE_MAC_OS_CRASH_DUMPS_H_
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
namespace mac {
@@ -14,7 +14,7 @@ namespace mac {
// process a Chrome crash when debugging symbols are available. This
// translates into a long wait until the process actually dies. This call
// disables Apple Crash Reporter entirely.
-BASE_API void DisableOSCrashDumps();
+BASE_EXPORT void DisableOSCrashDumps();
} // namespace mac
} // namespace base
diff --git a/base/mac/scoped_nsautorelease_pool.h b/base/mac/scoped_nsautorelease_pool.h
index 297b10a..3f73017 100644
--- a/base/mac/scoped_nsautorelease_pool.h
+++ b/base/mac/scoped_nsautorelease_pool.h
@@ -6,7 +6,7 @@
#define BASE_MAC_SCOPED_NSAUTORELEASE_POOL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(OS_MACOSX)
@@ -28,7 +28,7 @@ namespace mac {
// On other platforms, ScopedNSAutoreleasePool is an empty object with no
// effects. This allows it to be used directly in cross-platform code without
// ugly #ifdefs.
-class BASE_API ScopedNSAutoreleasePool {
+class BASE_EXPORT ScopedNSAutoreleasePool {
public:
#if !defined(OS_MACOSX)
ScopedNSAutoreleasePool() {}
diff --git a/base/mac/scoped_nsexception_enabler.h b/base/mac/scoped_nsexception_enabler.h
index a251fcc..3c16d2f 100644
--- a/base/mac/scoped_nsexception_enabler.h
+++ b/base/mac/scoped_nsexception_enabler.h
@@ -6,7 +6,7 @@
#define BASE_MAC_SCOPED_NSEXCEPTION_ENABLER_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -24,7 +24,7 @@ namespace mac {
// top-level event loop, things are cleared in -reportException:. If
// the exception is caught at a lower level, a higher level scoper
// should eventually reset things.
-class BASE_API ScopedNSExceptionEnabler {
+class BASE_EXPORT ScopedNSExceptionEnabler {
public:
ScopedNSExceptionEnabler();
~ScopedNSExceptionEnabler();
@@ -38,8 +38,8 @@ class BASE_API ScopedNSExceptionEnabler {
// Access the exception setting for the current thread. This is for
// the support code in BrowserCrApplication, other code should use
// the scoper.
-BASE_API bool GetNSExceptionsAllowed();
-BASE_API void SetNSExceptionsAllowed(bool allowed);
+BASE_EXPORT bool GetNSExceptionsAllowed();
+BASE_EXPORT void SetNSExceptionsAllowed(bool allowed);
} // namespace mac
} // namespace base
diff --git a/base/mach_ipc_mac.h b/base/mach_ipc_mac.h
index 2ae7084..7d39101 100644
--- a/base/mach_ipc_mac.h
+++ b/base/mach_ipc_mac.h
@@ -13,7 +13,7 @@
#include <CoreServices/CoreServices.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
//==============================================================================
@@ -139,7 +139,7 @@ class MachMsgPortDescriptor : public mach_msg_port_descriptor_t {
// A MachMessage object is used by ReceivePort::WaitForMessage
// and MachPortSender::SendMessage
//
-class BASE_API MachMessage {
+class BASE_EXPORT MachMessage {
public:
static const size_t kEmptyMessageSize;
@@ -245,7 +245,7 @@ class MachReceiveMessage : public MachMessage {
};
//==============================================================================
-class BASE_API MachSendMessage : public MachMessage {
+class BASE_EXPORT MachSendMessage : public MachMessage {
public:
explicit MachSendMessage(int32_t message_id);
MachSendMessage(void *storage, size_t storage_length, int32_t message_id);
@@ -258,7 +258,7 @@ class BASE_API MachSendMessage : public MachMessage {
//==============================================================================
// Represents a Mach port for which we have receive rights
-class BASE_API ReceivePort {
+class BASE_EXPORT ReceivePort {
public:
// Creates a new Mach port for receiving messages and registers a name for it
explicit ReceivePort(const char *receive_port_name);
@@ -289,7 +289,7 @@ class BASE_API ReceivePort {
//==============================================================================
// Represents a Mach port for which we have send rights
-class BASE_API MachPortSender {
+class BASE_EXPORT MachPortSender {
public:
// get a port with send rights corresponding to a named registered service
explicit MachPortSender(const char *receive_port_name);
diff --git a/base/md5.h b/base/md5.h
index 5a1762b..f67c365 100644
--- a/base/md5.h
+++ b/base/md5.h
@@ -6,7 +6,7 @@
#define BASE_MD5_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string_piece.h"
namespace base {
@@ -45,25 +45,25 @@ typedef char MD5Context[88];
// Computes the MD5 sum of the given data buffer with the given length.
// The given 'digest' structure will be filled with the result data.
-BASE_API void MD5Sum(const void* data, size_t length, MD5Digest* digest);
+BASE_EXPORT void MD5Sum(const void* data, size_t length, MD5Digest* digest);
// Initializes the given MD5 context structure for subsequent calls to
// MD5Update().
-BASE_API void MD5Init(MD5Context* context);
+BASE_EXPORT void MD5Init(MD5Context* context);
// For the given buffer of |data| as a StringPiece, updates the given MD5
// context with the sum of the data. You can call this any number of times
// during the computation, except that MD5Init() must have been called first.
-BASE_API void MD5Update(MD5Context* context, const StringPiece& data);
+BASE_EXPORT void MD5Update(MD5Context* context, const StringPiece& data);
// Finalizes the MD5 operation and fills the buffer with the digest.
-BASE_API void MD5Final(MD5Digest* digest, MD5Context* context);
+BASE_EXPORT void MD5Final(MD5Digest* digest, MD5Context* context);
// Converts a digest into human-readable hexadecimal.
-BASE_API std::string MD5DigestToBase16(const MD5Digest& digest);
+BASE_EXPORT std::string MD5DigestToBase16(const MD5Digest& digest);
// Returns the MD5 (in hexadecimal) of a string.
-BASE_API std::string MD5String(const StringPiece& str);
+BASE_EXPORT std::string MD5String(const StringPiece& str);
} // namespace base
diff --git a/base/memory/memory_debug.h b/base/memory/memory_debug.h
index d094edb..740fb06 100644
--- a/base/memory/memory_debug.h
+++ b/base/memory/memory_debug.h
@@ -10,12 +10,12 @@
#define BASE_MEMORY_MEMORY_DEBUG_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
-class BASE_API MemoryDebug {
+class BASE_EXPORT MemoryDebug {
public:
// Since MIU messages are a lot of data, and we don't always want this data,
// we have a global switch. If disabled, *MemoryInUse are no-ops.
diff --git a/base/memory/ref_counted.h b/base/memory/ref_counted.h
index 1207ed4..439fda4 100644
--- a/base/memory/ref_counted.h
+++ b/base/memory/ref_counted.h
@@ -7,14 +7,14 @@
#pragma once
#include "base/atomic_ref_count.h"
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/threading/thread_collision_warner.h"
namespace base {
namespace subtle {
-class BASE_API RefCountedBase {
+class BASE_EXPORT RefCountedBase {
public:
static bool ImplementsThreadSafeReferenceCounting() { return false; }
@@ -40,7 +40,7 @@ class BASE_API RefCountedBase {
DISALLOW_COPY_AND_ASSIGN(RefCountedBase);
};
-class BASE_API RefCountedThreadSafeBase {
+class BASE_EXPORT RefCountedThreadSafeBase {
public:
static bool ImplementsThreadSafeReferenceCounting() { return true; }
diff --git a/base/memory/ref_counted_memory.h b/base/memory/ref_counted_memory.h
index 7438d57..7b55d14 100644
--- a/base/memory/ref_counted_memory.h
+++ b/base/memory/ref_counted_memory.h
@@ -9,7 +9,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
@@ -19,7 +19,7 @@
// A generic interface to memory. This object is reference counted because one
// of its two subclasses own the data they carry, and we need to have
// heterogeneous containers of these two types of memory.
-class BASE_API RefCountedMemory
+class BASE_EXPORT RefCountedMemory
: public base::RefCountedThreadSafe<RefCountedMemory> {
public:
// Retrieves a pointer to the beginning of the data we point to. If the data
@@ -37,7 +37,7 @@ class BASE_API RefCountedMemory
// An implementation of RefCountedMemory, where the ref counting does not
// matter.
-class BASE_API RefCountedStaticMemory : public RefCountedMemory {
+class BASE_EXPORT RefCountedStaticMemory : public RefCountedMemory {
public:
RefCountedStaticMemory()
: data_(NULL), length_(0) {}
@@ -57,7 +57,7 @@ class BASE_API RefCountedStaticMemory : public RefCountedMemory {
// An implementation of RefCountedMemory, where we own our the data in a
// vector.
-class BASE_API RefCountedBytes : public RefCountedMemory {
+class BASE_EXPORT RefCountedBytes : public RefCountedMemory {
public:
RefCountedBytes();
@@ -89,7 +89,7 @@ namespace base {
// An implementation of RefCountedMemory, where the bytes are stored in an STL
// string. Use this if your data naturally arrives in that format.
-class BASE_API RefCountedString : public RefCountedMemory {
+class BASE_EXPORT RefCountedString : public RefCountedMemory {
public:
RefCountedString();
diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h
index 0c6b4a7..abda1af 100644
--- a/base/memory/weak_ptr.h
+++ b/base/memory/weak_ptr.h
@@ -52,7 +52,7 @@
#define BASE_MEMORY_WEAK_PTR_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/threading/thread_checker.h"
@@ -63,7 +63,7 @@ namespace internal {
// These classes are part of the WeakPtr implementation.
// DO NOT USE THESE CLASSES DIRECTLY YOURSELF.
-class BASE_API WeakReference {
+class BASE_EXPORT WeakReference {
public:
// While Flag is bound to a specific thread, it may be deleted from another
// via base::WeakPtr::~WeakPtr().
@@ -95,7 +95,7 @@ class BASE_API WeakReference {
scoped_refptr<Flag> flag_;
};
-class BASE_API WeakReferenceOwner {
+class BASE_EXPORT WeakReferenceOwner {
public:
WeakReferenceOwner();
~WeakReferenceOwner();
@@ -121,7 +121,7 @@ class BASE_API WeakReferenceOwner {
// constructor by avoiding the need for a public accessor for ref_. A
// WeakPtr<T> cannot access the private members of WeakPtr<U>, so this
// base class gives us a way to access ref_ in a protected fashion.
-class BASE_API WeakPtrBase {
+class BASE_EXPORT WeakPtrBase {
public:
WeakPtrBase();
~WeakPtrBase();
diff --git a/base/message_loop.h b/base/message_loop.h
index 540c74d..fd9fb7e 100644
--- a/base/message_loop.h
+++ b/base/message_loop.h
@@ -9,7 +9,7 @@
#include <queue>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/callback.h"
#include "base/memory/ref_counted.h"
@@ -75,7 +75,7 @@ class Births;
// Please be SURE your task is reentrant (nestable) and all global variables
// are stable and accessible before calling SetNestableTasksAllowed(true).
//
-class BASE_API MessageLoop : public base::MessagePump::Delegate {
+class BASE_EXPORT MessageLoop : public base::MessagePump::Delegate {
public:
#if defined(OS_WIN)
typedef base::MessagePumpWin::Dispatcher Dispatcher;
@@ -128,7 +128,7 @@ class BASE_API MessageLoop : public base::MessagePump::Delegate {
// NOTE: Any tasks posted to the MessageLoop during this notification will
// not be run. Instead, they will be deleted.
//
- class BASE_API DestructionObserver {
+ class BASE_EXPORT DestructionObserver {
public:
virtual void WillDestroyCurrentMessageLoop() = 0;
@@ -317,7 +317,7 @@ class BASE_API MessageLoop : public base::MessagePump::Delegate {
// MessageLoop.
//
// NOTE: A TaskObserver implementation should be extremely fast!
- class BASE_API TaskObserver {
+ class BASE_EXPORT TaskObserver {
public:
TaskObserver();
@@ -383,7 +383,7 @@ class BASE_API MessageLoop : public base::MessagePump::Delegate {
// MessagePumpForUI needs to keep the RunState.
public:
#endif
- class BASE_API AutoRunState : RunState {
+ class BASE_EXPORT AutoRunState : RunState {
public:
explicit AutoRunState(MessageLoop* loop);
~AutoRunState();
@@ -580,7 +580,7 @@ class BASE_API MessageLoop : public base::MessagePump::Delegate {
// This class is typically used like so:
// MessageLoopForUI::current()->...call some method...
//
-class BASE_API MessageLoopForUI : public MessageLoop {
+class BASE_EXPORT MessageLoopForUI : public MessageLoop {
public:
MessageLoopForUI() : MessageLoop(TYPE_UI) {
}
@@ -629,7 +629,7 @@ COMPILE_ASSERT(sizeof(MessageLoop) == sizeof(MessageLoopForUI),
// This class is typically used like so:
// MessageLoopForIO::current()->...call some method...
//
-class BASE_API MessageLoopForIO : public MessageLoop {
+class BASE_EXPORT MessageLoopForIO : public MessageLoop {
public:
#if defined(OS_WIN)
typedef base::MessagePumpForIO::IOHandler IOHandler;
diff --git a/base/message_loop_proxy.h b/base/message_loop_proxy.h
index d6955ba..646b2ef 100644
--- a/base/message_loop_proxy.h
+++ b/base/message_loop_proxy.h
@@ -6,7 +6,7 @@
#define BASE_MESSAGE_LOOP_PROXY_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/callback.h"
#include "base/memory/ref_counted.h"
@@ -20,7 +20,7 @@ struct MessageLoopProxyTraits;
// of a message loop. This class can outlive the target message loop. You can
// obtain a MessageLoopProxy via Thread::message_loop_proxy() or
// MessageLoopProxy::CreateForCurrentThread().
-class BASE_API MessageLoopProxy
+class BASE_EXPORT MessageLoopProxy
: public base::RefCountedThreadSafe<MessageLoopProxy,
MessageLoopProxyTraits> {
public:
diff --git a/base/message_loop_proxy_impl.h b/base/message_loop_proxy_impl.h
index 4c04148..57896ff 100644
--- a/base/message_loop_proxy_impl.h
+++ b/base/message_loop_proxy_impl.h
@@ -6,7 +6,7 @@
#define BASE_MESSAGE_LOOP_PROXY_IMPL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/message_loop.h"
#include "base/message_loop_proxy.h"
#include "base/synchronization/lock.h"
@@ -16,8 +16,9 @@ namespace base {
// A stock implementation of MessageLoopProxy that takes in a MessageLoop
// and keeps track of its lifetime using the MessageLoop DestructionObserver.
// For now a MessageLoopProxyImpl can only be created for the current thread.
-class BASE_API MessageLoopProxyImpl : public MessageLoopProxy,
- public MessageLoop::DestructionObserver {
+class BASE_EXPORT MessageLoopProxyImpl
+ : public MessageLoopProxy,
+ public MessageLoop::DestructionObserver {
public:
virtual ~MessageLoopProxyImpl();
diff --git a/base/message_pump.h b/base/message_pump.h
index 6a48e81..d7aaf0c 100644
--- a/base/message_pump.h
+++ b/base/message_pump.h
@@ -6,18 +6,18 @@
#define BASE_MESSAGE_PUMP_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/memory/ref_counted.h"
namespace base {
class TimeTicks;
-class BASE_API MessagePump : public RefCountedThreadSafe<MessagePump> {
+class BASE_EXPORT MessagePump : public RefCountedThreadSafe<MessagePump> {
public:
// Please see the comments above the Run method for an illustration of how
// these delegate methods are used.
- class BASE_API Delegate {
+ class BASE_EXPORT Delegate {
public:
virtual ~Delegate() {}
diff --git a/base/message_pump_gtk.h b/base/message_pump_gtk.h
index 5fa21f7..80122ce 100644
--- a/base/message_pump_gtk.h
+++ b/base/message_pump_gtk.h
@@ -41,7 +41,7 @@ class MessagePumpDispatcher {
};
// This class implements a message-pump for dispatching GTK events.
-class BASE_API MessagePumpGtk : public MessagePumpGlib {
+class BASE_EXPORT MessagePumpGtk : public MessagePumpGlib {
public:
MessagePumpGtk();
virtual ~MessagePumpGtk();
diff --git a/base/message_pump_libevent.h b/base/message_pump_libevent.h
index fd76379..2af3bcc 100644
--- a/base/message_pump_libevent.h
+++ b/base/message_pump_libevent.h
@@ -21,7 +21,7 @@ namespace base {
// Class to monitor sockets and issue callbacks when sockets are ready for I/O
// TODO(dkegel): add support for background file IO somehow
-class BASE_API MessagePumpLibevent : public MessagePump {
+class BASE_EXPORT MessagePumpLibevent : public MessagePump {
public:
class IOObserver {
public:
diff --git a/base/message_pump_win.h b/base/message_pump_win.h
index 721074f..5f17610 100644
--- a/base/message_pump_win.h
+++ b/base/message_pump_win.h
@@ -10,7 +10,7 @@
#include <list>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/message_pump.h"
#include "base/observer_list.h"
@@ -22,14 +22,14 @@ namespace base {
// MessagePumpWin serves as the base for specialized versions of the MessagePump
// for Windows. It provides basic functionality like handling of observers and
// controlling the lifetime of the message pump.
-class BASE_API MessagePumpWin : public MessagePump {
+class BASE_EXPORT MessagePumpWin : public MessagePump {
public:
// An Observer is an object that receives global notifications from the
// UI MessageLoop.
//
// NOTE: An Observer implementation should be extremely fast!
//
- class BASE_API Observer {
+ class BASE_EXPORT Observer {
public:
virtual ~Observer() {}
@@ -50,7 +50,7 @@ class BASE_API MessagePumpWin : public MessagePump {
//
// The nested loop is exited by either posting a quit, or returning false
// from Dispatch.
- class BASE_API Dispatcher {
+ class BASE_EXPORT Dispatcher {
public:
virtual ~Dispatcher() {}
// Dispatches the event. If true is returned processing continues as
@@ -157,7 +157,7 @@ class BASE_API MessagePumpWin : public MessagePump {
// an excellent choice. It is also helpful that the starter messages that are
// placed in the queue when new task arrive also awakens DoRunLoop.
//
-class BASE_API MessagePumpForUI : public MessagePumpWin {
+class BASE_EXPORT MessagePumpForUI : public MessagePumpWin {
public:
// The application-defined code passed to the hook procedure.
static const int kMessageFilterCode = 0x5001;
@@ -196,7 +196,7 @@ class BASE_API MessagePumpForUI : public MessagePumpWin {
// deal with Windows mesagges, and instead has a Run loop based on Completion
// Ports so it is better suited for IO operations.
//
-class BASE_API MessagePumpForIO : public MessagePumpWin {
+class BASE_EXPORT MessagePumpForIO : public MessagePumpWin {
public:
struct IOContext;
diff --git a/base/message_pump_x.h b/base/message_pump_x.h
index 49a8251..a6b68c6 100644
--- a/base/message_pump_x.h
+++ b/base/message_pump_x.h
@@ -19,7 +19,7 @@ typedef struct _XDisplay Display;
namespace base {
// The documentation for this class is in message_pump_glib.h
-class BASE_API MessagePumpObserver {
+class BASE_EXPORT MessagePumpObserver {
public:
enum EventStatus {
EVENT_CONTINUE, // The event should be dispatched as normal.
@@ -59,7 +59,7 @@ class MessagePumpDispatcher {
};
// This class implements a message-pump for dispatching X events.
-class BASE_API MessagePumpX : public MessagePumpGlib {
+class BASE_EXPORT MessagePumpX : public MessagePumpGlib {
public:
MessagePumpX();
virtual ~MessagePumpX();
diff --git a/base/metrics/field_trial.h b/base/metrics/field_trial.h
index 3b831d8..87b412b 100644
--- a/base/metrics/field_trial.h
+++ b/base/metrics/field_trial.h
@@ -78,7 +78,7 @@
#include <map>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/gtest_prod_util.h"
#include "base/memory/ref_counted.h"
#include "base/observer_list.h"
@@ -89,7 +89,7 @@ namespace base {
class FieldTrialList;
-class BASE_API FieldTrial : public RefCounted<FieldTrial> {
+class BASE_EXPORT FieldTrial : public RefCounted<FieldTrial> {
public:
typedef int Probability; // Probability type for being selected in a trial.
@@ -239,7 +239,7 @@ class BASE_API FieldTrial : public RefCounted<FieldTrial> {
// Class with a list of all active field trials. A trial is active if it has
// been registered, which includes evaluating its state based on its probaility.
// Only one instance of this class exists.
-class BASE_API FieldTrialList {
+class BASE_EXPORT FieldTrialList {
public:
// Define a separator charactor to use when creating a persistent form of an
// instance. This is intended for use as a command line argument, passed to a
diff --git a/base/metrics/histogram.h b/base/metrics/histogram.h
index 29004e4..23740f9 100644
--- a/base/metrics/histogram.h
+++ b/base/metrics/histogram.h
@@ -45,7 +45,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/gtest_prod_util.h"
#include "base/logging.h"
#include "base/time.h"
@@ -266,7 +266,7 @@ class CustomHistogram;
class Histogram;
class LinearHistogram;
-class BASE_API Histogram {
+class BASE_EXPORT Histogram {
public:
typedef int Sample; // Used for samples (and ranges of samples).
typedef int Count; // Used to count samples in a bucket.
@@ -325,7 +325,7 @@ class BASE_API Histogram {
//----------------------------------------------------------------------------
// Statistic values, developed over the life of the histogram.
- class BASE_API SampleSet {
+ class BASE_EXPORT SampleSet {
public:
explicit SampleSet();
~SampleSet();
@@ -584,7 +584,7 @@ class BASE_API Histogram {
// LinearHistogram is a more traditional histogram, with evenly spaced
// buckets.
-class BASE_API LinearHistogram : public Histogram {
+class BASE_EXPORT LinearHistogram : public Histogram {
public:
virtual ~LinearHistogram();
@@ -640,7 +640,7 @@ class BASE_API LinearHistogram : public Histogram {
//------------------------------------------------------------------------------
// BooleanHistogram is a histogram for booleans.
-class BASE_API BooleanHistogram : public LinearHistogram {
+class BASE_EXPORT BooleanHistogram : public LinearHistogram {
public:
static Histogram* FactoryGet(const std::string& name, Flags flags);
@@ -657,7 +657,7 @@ class BASE_API BooleanHistogram : public LinearHistogram {
//------------------------------------------------------------------------------
// CustomHistogram is a histogram for a set of custom integers.
-class BASE_API CustomHistogram : public Histogram {
+class BASE_EXPORT CustomHistogram : public Histogram {
public:
static Histogram* FactoryGet(const std::string& name,
@@ -691,7 +691,7 @@ class BASE_API CustomHistogram : public Histogram {
// general place for histograms to register, and supports a global API for
// accessing (i.e., dumping, or graphing) the data in all the histograms.
-class BASE_API StatisticsRecorder {
+class BASE_EXPORT StatisticsRecorder {
public:
typedef std::vector<Histogram*> Histograms;
diff --git a/base/metrics/stats_counters.h b/base/metrics/stats_counters.h
index f40dcbe..9ba3517 100644
--- a/base/metrics/stats_counters.h
+++ b/base/metrics/stats_counters.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/metrics/stats_table.h"
#include "base/time.h"
@@ -75,7 +75,7 @@ namespace base {
//------------------------------------------------------------------------------
// StatsCounter represents a counter in the StatsTable class.
-class BASE_API StatsCounter {
+class BASE_EXPORT StatsCounter {
public:
// Create a StatsCounter object.
explicit StatsCounter(const std::string& name);
@@ -129,7 +129,7 @@ class BASE_API StatsCounter {
// A StatsCounterTimer is a StatsCounter which keeps a timer during
// the scope of the StatsCounterTimer. On destruction, it will record
// its time measurement.
-class BASE_API StatsCounterTimer : protected StatsCounter {
+class BASE_EXPORT StatsCounterTimer : protected StatsCounter {
public:
// Constructs and starts the timer.
explicit StatsCounterTimer(const std::string& name);
@@ -158,7 +158,7 @@ class BASE_API StatsCounterTimer : protected StatsCounter {
// A StatsRate is a timer that keeps a count of the number of intervals added so
// that several statistics can be produced:
// min, max, avg, count, total
-class BASE_API StatsRate : public StatsCounterTimer {
+class BASE_EXPORT StatsRate : public StatsCounterTimer {
public:
// Constructs and starts the timer.
explicit StatsRate(const std::string& name);
diff --git a/base/metrics/stats_table.h b/base/metrics/stats_table.h
index c8ebae7..6368dd7 100644
--- a/base/metrics/stats_table.h
+++ b/base/metrics/stats_table.h
@@ -23,7 +23,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/hash_tables.h"
#include "base/synchronization/lock.h"
@@ -31,7 +31,7 @@
namespace base {
-class BASE_API StatsTable {
+class BASE_EXPORT StatsTable {
public:
// Create a new StatsTable.
// If a StatsTable already exists with the specified name, this StatsTable
diff --git a/base/mime_util.h b/base/mime_util.h
index 0e0a242..fd862ed 100644
--- a/base/mime_util.h
+++ b/base/mime_util.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
class FilePath;
@@ -19,23 +19,23 @@ namespace mime_util {
// have to exist. Please note because it doesn't touch the disk, this does not
// work for directories.
// If the mime type is unknown, this will return application/octet-stream.
-BASE_API std::string GetFileMimeType(const FilePath& filepath);
+BASE_EXPORT std::string GetFileMimeType(const FilePath& filepath);
// Get the mime type for a byte vector.
-BASE_API std::string GetDataMimeType(const std::string& data);
+BASE_EXPORT std::string GetDataMimeType(const std::string& data);
#if defined(TOOLKIT_GTK)
// This detects the current GTK theme by calling gtk_settings_get_default().
// It should only be executed on the UI thread and must be called before
// GetMimeIcon().
-BASE_API void DetectGtkTheme();
+BASE_EXPORT void DetectGtkTheme();
#endif
// Gets the file name for an icon given the mime type and icon pixel size.
// Where an icon is a square image of |size| x |size|.
// This will try to find the closest matching icon. If that's not available,
// then a generic icon, and finally an empty FilePath if all else fails.
-BASE_API FilePath GetMimeIcon(const std::string& mime_type, size_t size);
+BASE_EXPORT FilePath GetMimeIcon(const std::string& mime_type, size_t size);
} // namespace mime_util
diff --git a/base/native_library.h b/base/native_library.h
index 2896163..1e0dfcd 100644
--- a/base/native_library.h
+++ b/base/native_library.h
@@ -9,7 +9,7 @@
// This file defines a cross-platform "NativeLibrary" type which represents
// a loadable module.
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "build/build_config.h"
#if defined(OS_WIN)
@@ -55,8 +55,8 @@ typedef void* NativeLibrary;
// you're done. Returns NULL on failure.
// If |err| is not NULL, it may be filled in with an error message on
// error.
-BASE_API NativeLibrary LoadNativeLibrary(const FilePath& library_path,
- std::string* error);
+BASE_EXPORT NativeLibrary LoadNativeLibrary(const FilePath& library_path,
+ std::string* error);
#if defined(OS_WIN)
// Loads a native library from disk. Release it with UnloadNativeLibrary when
@@ -64,22 +64,22 @@ BASE_API NativeLibrary LoadNativeLibrary(const FilePath& library_path,
// This function retrieves the LoadLibrary function exported from kernel32.dll
// and calls it instead of directly calling the LoadLibrary function via the
// import table.
-BASE_API NativeLibrary LoadNativeLibraryDynamically(
+BASE_EXPORT NativeLibrary LoadNativeLibraryDynamically(
const FilePath& library_path);
#endif // OS_WIN
// Unloads a native library.
-BASE_API void UnloadNativeLibrary(NativeLibrary library);
+BASE_EXPORT void UnloadNativeLibrary(NativeLibrary library);
// Gets a function pointer from a native library.
-BASE_API void* GetFunctionPointerFromNativeLibrary(NativeLibrary library,
- const char* name);
+BASE_EXPORT void* GetFunctionPointerFromNativeLibrary(NativeLibrary library,
+ const char* name);
// Returns the full platform specific name for a native library.
// For example:
// "mylib" returns "mylib.dll" on Windows, "libmylib.so" on Linux,
// "mylib.dylib" on Mac.
-BASE_API string16 GetNativeLibraryName(const string16& name);
+BASE_EXPORT string16 GetNativeLibraryName(const string16& name);
} // namespace base
diff --git a/base/nix/xdg_util.h b/base/nix/xdg_util.h
index 8420a9e..305a679 100644
--- a/base/nix/xdg_util.h
+++ b/base/nix/xdg_util.h
@@ -13,7 +13,7 @@
// net. We should have a net API to allow the embedder to specify the behavior
// that it uses XDG for, and then move this file.
-#include "base/base_api.h"
+#include "base/base_export.h"
#ifdef nix
#error asdf
@@ -32,14 +32,14 @@ namespace nix {
// a directory path. |fallback_dir| is the directory relative to $HOME that we
// use if |env_name| cannot be found or is empty. |fallback_dir| may be NULL.
// Examples of |env_name| are XDG_CONFIG_HOME and XDG_DATA_HOME.
-BASE_API FilePath GetXDGDirectory(Environment* env, const char* env_name,
- const char* fallback_dir);
+BASE_EXPORT FilePath GetXDGDirectory(Environment* env, const char* env_name,
+ const char* fallback_dir);
// Wrapper around xdg_user_dir_lookup() from src/base/third_party/xdg-user-dirs
// This looks up "well known" user directories like the desktop and music
// folder. Examples of |dir_name| are DESKTOP and MUSIC.
-BASE_API FilePath GetXDGUserDirectory(Environment* env, const char* dir_name,
- const char* fallback_dir);
+BASE_EXPORT FilePath GetXDGUserDirectory(Environment* env, const char* dir_name,
+ const char* fallback_dir);
enum DesktopEnvironment {
DESKTOP_ENVIRONMENT_OTHER,
@@ -55,13 +55,13 @@ enum DesktopEnvironment {
// of which desktop environment we're using. We use this to know when
// to attempt to use preferences from the desktop environment --
// proxy settings, password manager, etc.
-BASE_API DesktopEnvironment GetDesktopEnvironment(Environment* env);
+BASE_EXPORT DesktopEnvironment GetDesktopEnvironment(Environment* env);
// Return a string representation of the given desktop environment.
// May return NULL in the case of DESKTOP_ENVIRONMENT_OTHER.
-BASE_API const char* GetDesktopEnvironmentName(DesktopEnvironment env);
+BASE_EXPORT const char* GetDesktopEnvironmentName(DesktopEnvironment env);
// Convenience wrapper that calls GetDesktopEnvironment() first.
-BASE_API const char* GetDesktopEnvironmentName(Environment* env);
+BASE_EXPORT const char* GetDesktopEnvironmentName(Environment* env);
} // namespace nix
} // namespace base
diff --git a/base/path_service.h b/base/path_service.h
index 284fbf7..4b29738 100644
--- a/base/path_service.h
+++ b/base/path_service.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/base_paths.h"
#include "build/build_config.h"
@@ -17,7 +17,7 @@ class FilePath;
// The path service is a global table mapping keys to file system paths. It is
// OK to use this service from multiple threads.
//
-class BASE_API PathService {
+class BASE_EXPORT PathService {
public:
// Retrieves a path to a special directory or file and places it into the
// string pointed to by 'path'. If you ask for a directory it is guaranteed
diff --git a/base/pickle.h b/base/pickle.h
index 20878e0..d93fe86 100644
--- a/base/pickle.h
+++ b/base/pickle.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/gtest_prod_util.h"
#include "base/logging.h"
@@ -31,7 +31,7 @@
// space is controlled by the header_size parameter passed to the Pickle
// constructor.
//
-class BASE_API Pickle {
+class BASE_EXPORT Pickle {
public:
// Initialize a Pickle object using the default header size.
Pickle();
diff --git a/base/platform_file.h b/base/platform_file.h
index afe909a..856ec8e 100644
--- a/base/platform_file.h
+++ b/base/platform_file.h
@@ -13,7 +13,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/time.h"
@@ -81,7 +81,7 @@ enum PlatformFileError {
// make sure to update all functions that use it in file_util_{win|posix}.cc
// too, and the ParamTraits<base::PlatformFileInfo> implementation in
// chrome/common/common_param_traits.cc.
-struct BASE_API PlatformFileInfo {
+struct BASE_EXPORT PlatformFileInfo {
PlatformFileInfo();
~PlatformFileInfo();
@@ -108,39 +108,40 @@ struct BASE_API PlatformFileInfo {
// true if a new file was created [or an old one truncated to zero length to
// simulate a new file, which can happen with PLATFORM_FILE_CREATE_ALWAYS], and
// false otherwise. |error_code| can be NULL.
-BASE_API PlatformFile CreatePlatformFile(const FilePath& name,
- int flags,
- bool* created,
- PlatformFileError* error_code);
+BASE_EXPORT PlatformFile CreatePlatformFile(const FilePath& name,
+ int flags,
+ bool* created,
+ PlatformFileError* error_code);
// Closes a file handle. Returns |true| on success and |false| otherwise.
-BASE_API bool ClosePlatformFile(PlatformFile file);
+BASE_EXPORT bool ClosePlatformFile(PlatformFile file);
// Reads the given number of bytes (or until EOF is reached) starting with the
// given offset. Returns the number of bytes read, or -1 on error.
-BASE_API int ReadPlatformFile(PlatformFile file, int64 offset,
- char* data, int size);
+BASE_EXPORT int ReadPlatformFile(PlatformFile file, int64 offset,
+ char* data, int size);
// Writes the given buffer into the file at the given offset, overwritting any
// data that was previously there. Returns the number of bytes written, or -1
// on error.
-BASE_API int WritePlatformFile(PlatformFile file, int64 offset,
- const char* data, int size);
+BASE_EXPORT int WritePlatformFile(PlatformFile file, int64 offset,
+ const char* data, int size);
// Truncates the given file to the given length. If |length| is greater than
// the current size of the file, the file is extended with zeros. If the file
// doesn't exist, |false| is returned.
-BASE_API bool TruncatePlatformFile(PlatformFile file, int64 length);
+BASE_EXPORT bool TruncatePlatformFile(PlatformFile file, int64 length);
// Flushes the buffers of the given file.
-BASE_API bool FlushPlatformFile(PlatformFile file);
+BASE_EXPORT bool FlushPlatformFile(PlatformFile file);
// Touches the given file.
-BASE_API bool TouchPlatformFile(PlatformFile file, const Time& last_access_time,
- const Time& last_modified_time);
+BASE_EXPORT bool TouchPlatformFile(PlatformFile file,
+ const Time& last_access_time,
+ const Time& last_modified_time);
// Returns some information for the given file.
-BASE_API bool GetPlatformFileInfo(PlatformFile file, PlatformFileInfo* info);
+BASE_EXPORT bool GetPlatformFileInfo(PlatformFile file, PlatformFileInfo* info);
// Use this class to pass ownership of a PlatformFile to a receiver that may or
// may not want to accept it. This class does not own the storage for the
@@ -162,7 +163,7 @@ BASE_API bool GetPlatformFileInfo(PlatformFile file, PlatformFileInfo* info);
// ClosePlatformFile(file);
// }
//
-class BASE_API PassPlatformFile {
+class BASE_EXPORT PassPlatformFile {
public:
explicit PassPlatformFile(PlatformFile* value) : value_(value) {
}
diff --git a/base/process.h b/base/process.h
index 9b1519a..2670924 100644
--- a/base/process.h
+++ b/base/process.h
@@ -6,7 +6,7 @@
#define BASE_PROCESS_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "build/build_config.h"
@@ -40,7 +40,7 @@ const ProcessId kNullProcessId = 0;
const int kUnsetProcessPriority = 256;
#endif
-class BASE_API Process {
+class BASE_EXPORT Process {
public:
Process() : process_(kNullProcessHandle) {
#if defined(OS_POSIX) && !defined(OS_MACOSX)
diff --git a/base/process_util.h b/base/process_util.h
index 5f88c62..acaa2d7 100644
--- a/base/process_util.h
+++ b/base/process_util.h
@@ -33,7 +33,7 @@ typedef struct _malloc_zone_t malloc_zone_t;
#include <utility>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/file_descriptor_shuffle.h"
#include "base/file_path.h"
#include "base/process.h"
@@ -132,14 +132,14 @@ enum TerminationStatus {
};
// Returns the id of the current process.
-BASE_API ProcessId GetCurrentProcId();
+BASE_EXPORT ProcessId GetCurrentProcId();
// Returns the ProcessHandle of the current process.
-BASE_API ProcessHandle GetCurrentProcessHandle();
+BASE_EXPORT ProcessHandle GetCurrentProcessHandle();
// Converts a PID to a process handle. This handle must be closed by
// CloseProcessHandle when you are done with it. Returns true on success.
-BASE_API bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle);
+BASE_EXPORT bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle);
// Converts a PID to a process handle. On Windows the handle is opened
// with more access rights and must only be used by trusted code.
@@ -147,47 +147,48 @@ BASE_API bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle);
// on success.
// TODO(sanjeevr): Replace all calls to OpenPrivilegedProcessHandle with the
// more specific OpenProcessHandleWithAccess method and delete this.
-BASE_API bool OpenPrivilegedProcessHandle(ProcessId pid, ProcessHandle* handle);
+BASE_EXPORT bool OpenPrivilegedProcessHandle(ProcessId pid,
+ ProcessHandle* handle);
// Converts a PID to a process handle using the desired access flags. Use a
// combination of the kProcessAccess* flags defined above for |access_flags|.
-BASE_API bool OpenProcessHandleWithAccess(ProcessId pid,
- uint32 access_flags,
- ProcessHandle* handle);
+BASE_EXPORT bool OpenProcessHandleWithAccess(ProcessId pid,
+ uint32 access_flags,
+ ProcessHandle* handle);
// Closes the process handle opened by OpenProcessHandle.
-BASE_API void CloseProcessHandle(ProcessHandle process);
+BASE_EXPORT void CloseProcessHandle(ProcessHandle process);
// Returns the unique ID for the specified process. This is functionally the
// same as Windows' GetProcessId(), but works on versions of Windows before
// Win XP SP1 as well.
-BASE_API ProcessId GetProcId(ProcessHandle process);
+BASE_EXPORT ProcessId GetProcId(ProcessHandle process);
#if defined(OS_LINUX)
// Returns the path to the executable of the given process.
-BASE_API FilePath GetProcessExecutablePath(ProcessHandle process);
+BASE_EXPORT FilePath GetProcessExecutablePath(ProcessHandle process);
// Parse the data found in /proc/<pid>/stat and return the sum of the
// CPU-related ticks. Returns -1 on parse error.
// Exposed for testing.
-BASE_API int ParseProcStatCPU(const std::string& input);
+BASE_EXPORT int ParseProcStatCPU(const std::string& input);
static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score";
// This adjusts /proc/process/oom_adj so the Linux OOM killer will prefer
// certain process types over others. The range for the adjustment is
// [-17,15], with [0,15] being user accessible.
-BASE_API bool AdjustOOMScore(ProcessId process, int score);
+BASE_EXPORT bool AdjustOOMScore(ProcessId process, int score);
#endif
#if defined(OS_POSIX)
// Returns the ID for the parent of the given process.
-BASE_API ProcessId GetParentProcessId(ProcessHandle process);
+BASE_EXPORT ProcessId GetParentProcessId(ProcessHandle process);
// Close all file descriptors, except those which are a destination in the
// given multimap. Only call this function in a child process where you know
// that there aren't any other threads.
-BASE_API void CloseSuperfluousFds(const InjectiveMultimap& saved_map);
+BASE_EXPORT void CloseSuperfluousFds(const InjectiveMultimap& saved_map);
#endif
// TODO(evan): rename these to use StudlyCaps.
@@ -263,9 +264,9 @@ struct LaunchOptions {
// close-on-exec.
// - If the first argument on the command line does not contain a slash,
// PATH will be searched. (See man execvp.)
-BASE_API bool LaunchProcess(const CommandLine& cmdline,
- const LaunchOptions& options,
- ProcessHandle* process_handle);
+BASE_EXPORT bool LaunchProcess(const CommandLine& cmdline,
+ const LaunchOptions& options,
+ ProcessHandle* process_handle);
#if defined(OS_WIN)
@@ -278,8 +279,8 @@ enum IntegrityLevel {
// Determine the integrity level of the specified process. Returns false
// if the system does not support integrity levels (pre-Vista) or in the case
// of an underlying system failure.
-BASE_API bool GetProcessIntegrityLevel(ProcessHandle process,
- IntegrityLevel *level);
+BASE_EXPORT bool GetProcessIntegrityLevel(ProcessHandle process,
+ IntegrityLevel *level);
// Windows-specific LaunchProcess that takes the command line as a
// string. Useful for situations where you need to control the
@@ -291,18 +292,18 @@ BASE_API bool GetProcessIntegrityLevel(ProcessHandle process,
//
// Example (including literal quotes)
// cmdline = "c:\windows\explorer.exe" -foo "c:\bar\"
-BASE_API bool LaunchProcess(const string16& cmdline,
- const LaunchOptions& options,
- ProcessHandle* process_handle);
+BASE_EXPORT bool LaunchProcess(const string16& cmdline,
+ const LaunchOptions& options,
+ ProcessHandle* process_handle);
#elif defined(OS_POSIX)
// A POSIX-specific version of LaunchProcess that takes an argv array
// instead of a CommandLine. Useful for situations where you need to
// control the command line arguments directly, but prefer the
// CommandLine version if launching Chrome itself.
-BASE_API bool LaunchProcess(const std::vector<std::string>& argv,
- const LaunchOptions& options,
- ProcessHandle* process_handle);
+BASE_EXPORT bool LaunchProcess(const std::vector<std::string>& argv,
+ const LaunchOptions& options,
+ ProcessHandle* process_handle);
// AlterEnvironment returns a modified environment vector, constructed from the
// given environment and the list of changes given in |changes|. Each key in
@@ -311,29 +312,29 @@ BASE_API bool LaunchProcess(const std::vector<std::string>& argv,
// the second is empty, in which case the key-value is removed.
//
// The returned array is allocated using new[] and must be freed by the caller.
-BASE_API char** AlterEnvironment(const environment_vector& changes,
- const char* const* const env);
+BASE_EXPORT char** AlterEnvironment(const environment_vector& changes,
+ const char* const* const env);
#endif // defined(OS_POSIX)
// Executes the application specified by |cl| and wait for it to exit. Stores
// the output (stdout) in |output|. Redirects stderr to /dev/null. Returns true
// on success (application launched and exited cleanly, with exit code
// indicating success).
-BASE_API bool GetAppOutput(const CommandLine& cl, std::string* output);
+BASE_EXPORT bool GetAppOutput(const CommandLine& cl, std::string* output);
#if defined(OS_POSIX)
// A restricted version of |GetAppOutput()| which (a) clears the environment,
// and (b) stores at most |max_output| bytes; also, it doesn't search the path
// for the command.
-BASE_API bool GetAppOutputRestricted(const CommandLine& cl,
- std::string* output, size_t max_output);
+BASE_EXPORT bool GetAppOutputRestricted(const CommandLine& cl,
+ std::string* output, size_t max_output);
// A version of |GetAppOutput()| which also returns the exit code of the
// executed command. Returns true if the application runs and exits cleanly. If
// this is the case the exit code of the application is available in
// |*exit_code|.
-BASE_API bool GetAppOutputWithExitCode(const CommandLine& cl,
- std::string* output, int* exit_code);
+BASE_EXPORT bool GetAppOutputWithExitCode(const CommandLine& cl,
+ std::string* output, int* exit_code);
#endif
// Used to filter processes by process ID.
@@ -350,31 +351,32 @@ class ProcessFilter {
// Returns the number of processes on the machine that are running from the
// given executable name. If filter is non-null, then only processes selected
// by the filter will be counted.
-BASE_API int GetProcessCount(const FilePath::StringType& executable_name,
- const ProcessFilter* filter);
+BASE_EXPORT int GetProcessCount(const FilePath::StringType& executable_name,
+ const ProcessFilter* filter);
// Attempts to kill all the processes on the current machine that were launched
// from the given executable name, ending them with the given exit code. If
// filter is non-null, then only processes selected by the filter are killed.
// Returns true if all processes were able to be killed off, false if at least
// one couldn't be killed.
-BASE_API bool KillProcesses(const FilePath::StringType& executable_name,
- int exit_code, const ProcessFilter* filter);
+BASE_EXPORT bool KillProcesses(const FilePath::StringType& executable_name,
+ int exit_code, const ProcessFilter* filter);
// Attempts to kill the process identified by the given process
// entry structure, giving it the specified exit code. If |wait| is true, wait
// for the process to be actually terminated before returning.
// Returns true if this is successful, false otherwise.
-BASE_API bool KillProcess(ProcessHandle process, int exit_code, bool wait);
+BASE_EXPORT bool KillProcess(ProcessHandle process, int exit_code, bool wait);
#if defined(OS_POSIX)
// Attempts to kill the process group identified by |process_group_id|. Returns
// true on success.
-BASE_API bool KillProcessGroup(ProcessHandle process_group_id);
+BASE_EXPORT bool KillProcessGroup(ProcessHandle process_group_id);
#endif
#if defined(OS_WIN)
-BASE_API bool KillProcessById(ProcessId process_id, int exit_code, bool wait);
+BASE_EXPORT bool KillProcessById(ProcessId process_id, int exit_code,
+ bool wait);
#endif
// Get the termination status of the process by interpreting the
@@ -385,14 +387,14 @@ BASE_API bool KillProcessById(ProcessId process_id, int exit_code, bool wait);
// will only return a useful result the first time it is called after
// the child exits (because it will reap the child and the information
// will no longer be available).
-BASE_API TerminationStatus GetTerminationStatus(ProcessHandle handle,
- int* exit_code);
+BASE_EXPORT TerminationStatus GetTerminationStatus(ProcessHandle handle,
+ int* exit_code);
// Waits for process to exit. On POSIX systems, if the process hasn't been
// signaled then puts the exit code in |exit_code|; otherwise it's considered
// a failure. On Windows |exit_code| is always filled. Returns true on success,
// and closes |handle| in any case.
-BASE_API bool WaitForExitCode(ProcessHandle handle, int* exit_code);
+BASE_EXPORT bool WaitForExitCode(ProcessHandle handle, int* exit_code);
// Waits for process to exit. If it did exit within |timeout_milliseconds|,
// then puts the exit code in |exit_code|, and returns true.
@@ -400,14 +402,15 @@ BASE_API bool WaitForExitCode(ProcessHandle handle, int* exit_code);
// to -1. Returns false on failure (the caller is then responsible for closing
// |handle|).
// The caller is always responsible for closing the |handle|.
-BASE_API bool WaitForExitCodeWithTimeout(ProcessHandle handle, int* exit_code,
- int64 timeout_milliseconds);
+BASE_EXPORT bool WaitForExitCodeWithTimeout(ProcessHandle handle,
+ int* exit_code,
+ int64 timeout_milliseconds);
// Wait for all the processes based on the named executable to exit. If filter
// is non-null, then only processes selected by the filter are waited on.
// Returns after all processes have exited or wait_milliseconds have expired.
// Returns true if all the processes exited, false otherwise.
-BASE_API bool WaitForProcessesToExit(
+BASE_EXPORT bool WaitForProcessesToExit(
const FilePath::StringType& executable_name,
int64 wait_milliseconds,
const ProcessFilter* filter);
@@ -415,8 +418,8 @@ BASE_API bool WaitForProcessesToExit(
// Wait for a single process to exit. Return true if it exited cleanly within
// the given time limit. On Linux |handle| must be a child process, however
// on Mac and Windows it can be any process.
-BASE_API bool WaitForSingleProcess(ProcessHandle handle,
- int64 wait_milliseconds);
+BASE_EXPORT bool WaitForSingleProcess(ProcessHandle handle,
+ int64 wait_milliseconds);
// Waits a certain amount of time (can be 0) for all the processes with a given
// executable name to exit, then kills off any of them that are still around.
@@ -424,16 +427,16 @@ BASE_API bool WaitForSingleProcess(ProcessHandle handle,
// on. Killed processes are ended with the given exit code. Returns false if
// any processes needed to be killed, true if they all exited cleanly within
// the wait_milliseconds delay.
-BASE_API bool CleanupProcesses(const FilePath::StringType& executable_name,
- int64 wait_milliseconds,
- int exit_code,
- const ProcessFilter* filter);
+BASE_EXPORT bool CleanupProcesses(const FilePath::StringType& executable_name,
+ int64 wait_milliseconds,
+ int exit_code,
+ const ProcessFilter* filter);
// This class provides a way to iterate through a list of processes on the
// current machine with a specified filter.
// To use, create an instance and then call NextProcessEntry() until it returns
// false.
-class BASE_API ProcessIterator {
+class BASE_EXPORT ProcessIterator {
public:
typedef std::list<ProcessEntry> ProcessEntries;
@@ -483,7 +486,7 @@ class BASE_API ProcessIterator {
// on the current machine that were started from the given executable
// name. To use, create an instance and then call NextProcessEntry()
// until it returns false.
-class BASE_API NamedProcessIterator : public ProcessIterator {
+class BASE_EXPORT NamedProcessIterator : public ProcessIterator {
public:
NamedProcessIterator(const FilePath::StringType& executable_name,
const ProcessFilter* filter);
@@ -548,13 +551,13 @@ struct FreeMBytes {
};
// Convert a POSIX timeval to microseconds.
-BASE_API int64 TimeValToMicroseconds(const struct timeval& tv);
+BASE_EXPORT int64 TimeValToMicroseconds(const struct timeval& tv);
// Provides performance metrics for a specified process (CPU usage, memory and
// IO counters). To use it, invoke CreateProcessMetrics() to get an instance
// for a specific process, then access the information with the different get
// methods.
-class BASE_API ProcessMetrics {
+class BASE_EXPORT ProcessMetrics {
public:
~ProcessMetrics();
@@ -656,13 +659,14 @@ class BASE_API ProcessMetrics {
#if defined(OS_LINUX)
// Retrieves data from /proc/meminfo about system-wide memory consumption.
// Values are in KB. Returns true on success.
-BASE_API bool GetSystemMemoryInfo(int* total_kb, int* free_kb, int* buffers_kb,
- int* cache_kb, int* shmem_kb);
+BASE_EXPORT bool GetSystemMemoryInfo(int* total_kb, int* free_kb,
+ int* buffers_kb, int* cache_kb,
+ int* shmem_kb);
#endif
// Returns the memory committed by the system in KBytes.
// Returns 0 if it can't compute the commit charge.
-BASE_API size_t GetSystemCommitCharge();
+BASE_EXPORT size_t GetSystemCommitCharge();
// Enables low fragmentation heap (LFH) for every heaps of this process. This
// won't have any effect on heaps created after this function call. It will not
@@ -670,30 +674,30 @@ BASE_API size_t GetSystemCommitCharge();
// better to call this function early in initialization and again before
// entering the main loop.
// Note: Returns true on Windows 2000 without doing anything.
-BASE_API bool EnableLowFragmentationHeap();
+BASE_EXPORT bool EnableLowFragmentationHeap();
// Enables 'terminate on heap corruption' flag. Helps protect against heap
// overflow. Has no effect if the OS doesn't provide the necessary facility.
-BASE_API void EnableTerminationOnHeapCorruption();
+BASE_EXPORT void EnableTerminationOnHeapCorruption();
#if !defined(OS_WIN)
// Turns on process termination if memory runs out. This is handled on Windows
// inside RegisterInvalidParamHandler().
-BASE_API void EnableTerminationOnOutOfMemory();
+BASE_EXPORT void EnableTerminationOnOutOfMemory();
#if defined(OS_MACOSX)
// Exposed for testing.
-BASE_API malloc_zone_t* GetPurgeableZone();
+BASE_EXPORT malloc_zone_t* GetPurgeableZone();
#endif
#endif
// Enables stack dump to console output on exception and signals.
// When enabled, the process will quit immediately. This is meant to be used in
// unit_tests only!
-BASE_API bool EnableInProcessStackDumping();
+BASE_EXPORT bool EnableInProcessStackDumping();
// If supported on the platform, and the user has sufficent rights, increase
// the current process's scheduling priority to a high priority.
-BASE_API void RaiseProcessToHighPriority();
+BASE_EXPORT void RaiseProcessToHighPriority();
#if defined(OS_MACOSX)
// Restore the default exception handler, setting it to Apple Crash Reporter
diff --git a/base/rand_util.h b/base/rand_util.h
index 6bfbcb4..c98cb45 100644
--- a/base/rand_util.h
+++ b/base/rand_util.h
@@ -8,40 +8,40 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
// Returns a random number in range [0, kuint64max]. Thread-safe.
-BASE_API uint64 RandUint64();
+BASE_EXPORT uint64 RandUint64();
// Returns a random number between min and max (inclusive). Thread-safe.
-BASE_API int RandInt(int min, int max);
+BASE_EXPORT int RandInt(int min, int max);
// Returns a random number in range [0, max). Thread-safe.
//
// Note that this can be used as an adapter for std::random_shuffle():
// Given a pre-populated |std::vector<int> myvector|, shuffle it as
// std::random_shuffle(myvector.begin(), myvector.end(), base::RandGenerator);
-BASE_API uint64 RandGenerator(uint64 max);
+BASE_EXPORT uint64 RandGenerator(uint64 max);
// Returns a random double in range [0, 1). Thread-safe.
-BASE_API double RandDouble();
+BASE_EXPORT double RandDouble();
// Given input |bits|, convert with maximum precision to a double in
// the range [0, 1). Thread-safe.
-BASE_API double BitsToOpenEndedUnitInterval(uint64 bits);
+BASE_EXPORT double BitsToOpenEndedUnitInterval(uint64 bits);
// Fills |output_length| bytes of |output| with cryptographically strong random
// data.
-BASE_API void RandBytes(void* output, size_t output_length);
+BASE_EXPORT void RandBytes(void* output, size_t output_length);
// Fills a string of length |length| with with cryptographically strong random
// data and returns it.
//
// Not that this is a variation of |RandBytes| with a different return type.
-BASE_API std::string RandBytesAsString(size_t length);
+BASE_EXPORT std::string RandBytesAsString(size_t length);
} // namespace base
diff --git a/base/rand_util_c.h b/base/rand_util_c.h
index 8320ba6..f16d264 100644
--- a/base/rand_util_c.h
+++ b/base/rand_util_c.h
@@ -6,7 +6,7 @@
#define BASE_RAND_UTIL_C_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#ifdef __cplusplus
extern "C" {
@@ -17,7 +17,7 @@ extern "C" {
// Returns an FD for /dev/urandom, possibly pre-opened before sandboxing
// was switched on. This is a C function so that Native Client can use it.
-BASE_API int GetUrandomFD(void);
+BASE_EXPORT int GetUrandomFD(void);
#ifdef __cplusplus
}
diff --git a/base/resource_util.h b/base/resource_util.h
index c867abc..26d15cf 100644
--- a/base/resource_util.h
+++ b/base/resource_util.h
@@ -11,7 +11,7 @@
#include <windows.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -19,8 +19,9 @@ namespace base {
// Function for getting a data resource (BINDATA) from a dll. Some
// resources are optional, especially in unit tests, so this returns false
// but doesn't raise an error if the resource can't be loaded.
-bool BASE_API GetDataResourceFromModule(HMODULE module, int resource_id,
- void** data, size_t* length);
+bool BASE_EXPORT GetDataResourceFromModule(HMODULE module, int resource_id,
+ void** data, size_t* length);
+
} // namespace base
#endif // BASE_RESOURCE_UTIL_H__
diff --git a/base/safe_strerror_posix.h b/base/safe_strerror_posix.h
index e72c836..60fdec3 100644
--- a/base/safe_strerror_posix.h
+++ b/base/safe_strerror_posix.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
// BEFORE using anything from this file, first look at PLOG and friends in
// logging.h and use them instead if applicable.
@@ -26,7 +26,7 @@
// result is always null-terminated. The value of errno is never changed.
//
// Use this instead of strerror_r().
-BASE_API void safe_strerror_r(int err, char *buf, size_t len);
+BASE_EXPORT void safe_strerror_r(int err, char *buf, size_t len);
// Calls safe_strerror_r with a buffer of suitable size and returns the result
// in a C++ string.
@@ -34,6 +34,6 @@ BASE_API void safe_strerror_r(int err, char *buf, size_t len);
// Use this instead of strerror(). Note though that safe_strerror_r will be
// more robust in the case of heap corruption errors, since it doesn't need to
// allocate a string.
-BASE_API std::string safe_strerror(int err);
+BASE_EXPORT std::string safe_strerror(int err);
#endif // BASE_SAFE_STRERROR_POSIX_H_
diff --git a/base/scoped_native_library.h b/base/scoped_native_library.h
index 4be66ed..65a45a4 100644
--- a/base/scoped_native_library.h
+++ b/base/scoped_native_library.h
@@ -6,7 +6,7 @@
#define BASE_SCOPED_NATIVE_LIBRARY_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/native_library.h"
class FilePath;
@@ -16,7 +16,7 @@ namespace base {
// A class which encapsulates a base::NativeLibrary object available only in a
// scope.
// This class automatically unloads the loaded library in its destructor.
-class BASE_API ScopedNativeLibrary {
+class BASE_EXPORT ScopedNativeLibrary {
public:
// Initializes with a NULL library.
ScopedNativeLibrary();
diff --git a/base/scoped_temp_dir.h b/base/scoped_temp_dir.h
index d9f0e2f..a549c30 100644
--- a/base/scoped_temp_dir.h
+++ b/base/scoped_temp_dir.h
@@ -16,10 +16,10 @@
// (CreateUniqueTempDir, CreateUniqueTempDirUnderPath, and Set) must have
// intervening calls to Delete or Take, or the calls will fail.
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/file_path.h"
-class BASE_API ScopedTempDir {
+class BASE_EXPORT ScopedTempDir {
public:
// No directory is owned/created initially.
ScopedTempDir();
diff --git a/base/sha1.h b/base/sha1.h
index 7625189..779a190 100644
--- a/base/sha1.h
+++ b/base/sha1.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
@@ -20,12 +20,12 @@ enum {
// Computes the SHA-1 hash of the input string |str| and returns the full
// hash.
-BASE_API std::string SHA1HashString(const std::string& str);
+BASE_EXPORT std::string SHA1HashString(const std::string& str);
// Computes the SHA-1 hash of the |len| bytes in |data| and puts the hash
// in |hash|. |hash| must be SHA1_LENGTH bytes long.
-BASE_API void SHA1HashBytes(const unsigned char* data, size_t len,
- unsigned char* hash);
+BASE_EXPORT void SHA1HashBytes(const unsigned char* data, size_t len,
+ unsigned char* hash);
} // namespace base
diff --git a/base/shared_memory.h b/base/shared_memory.h
index cf07da3..c9dfd6e 100644
--- a/base/shared_memory.h
+++ b/base/shared_memory.h
@@ -15,7 +15,7 @@
#endif
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/process.h"
@@ -40,7 +40,7 @@ typedef ino_t SharedMemoryId;
// Platform abstraction for shared memory. Provides a C++ wrapper
// around the OS primitive for a memory mapped file.
-class BASE_API SharedMemory {
+class BASE_EXPORT SharedMemory {
public:
SharedMemory();
diff --git a/base/string16.h b/base/string16.h
index 16ba86e..4c7b21f 100644
--- a/base/string16.h
+++ b/base/string16.h
@@ -30,7 +30,7 @@
#include <stdio.h>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(WCHAR_T_IS_UTF16)
@@ -47,12 +47,12 @@ namespace base {
// char16 versions of the functions required by string16_char_traits; these
// are based on the wide character functions of similar names ("w" or "wcs"
// instead of "c16").
-BASE_API int c16memcmp(const char16* s1, const char16* s2, size_t n);
-BASE_API size_t c16len(const char16* s);
-BASE_API const char16* c16memchr(const char16* s, char16 c, size_t n);
-BASE_API char16* c16memmove(char16* s1, const char16* s2, size_t n);
-BASE_API char16* c16memcpy(char16* s1, const char16* s2, size_t n);
-BASE_API char16* c16memset(char16* s, char16 c, size_t n);
+BASE_EXPORT int c16memcmp(const char16* s1, const char16* s2, size_t n);
+BASE_EXPORT size_t c16len(const char16* s);
+BASE_EXPORT const char16* c16memchr(const char16* s, char16 c, size_t n);
+BASE_EXPORT char16* c16memmove(char16* s1, const char16* s2, size_t n);
+BASE_EXPORT char16* c16memcpy(char16* s1, const char16* s2, size_t n);
+BASE_EXPORT char16* c16memset(char16* s, char16 c, size_t n);
struct string16_char_traits {
typedef char16 char_type;
@@ -169,8 +169,8 @@ extern template class std::basic_string<char16, base::string16_char_traits>;
typedef std::basic_string<char16, base::string16_char_traits> string16;
namespace base {
-BASE_API extern std::ostream& operator<<(std::ostream& out,
- const string16& str);
+BASE_EXPORT extern std::ostream& operator<<(std::ostream& out,
+ const string16& str);
}
#endif // WCHAR_T_IS_UTF32
diff --git a/base/string_number_conversions.h b/base/string_number_conversions.h
index a4b6e3e..6cf6a76 100644
--- a/base/string_number_conversions.h
+++ b/base/string_number_conversions.h
@@ -8,7 +8,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/string16.h"
@@ -28,21 +28,21 @@ namespace base {
// Number -> string conversions ------------------------------------------------
-BASE_API std::string IntToString(int value);
-BASE_API string16 IntToString16(int value);
+BASE_EXPORT std::string IntToString(int value);
+BASE_EXPORT string16 IntToString16(int value);
-BASE_API std::string UintToString(unsigned value);
-BASE_API string16 UintToString16(unsigned value);
+BASE_EXPORT std::string UintToString(unsigned value);
+BASE_EXPORT string16 UintToString16(unsigned value);
-BASE_API std::string Int64ToString(int64 value);
-BASE_API string16 Int64ToString16(int64 value);
+BASE_EXPORT std::string Int64ToString(int64 value);
+BASE_EXPORT string16 Int64ToString16(int64 value);
-BASE_API std::string Uint64ToString(uint64 value);
-BASE_API string16 Uint64ToString16(uint64 value);
+BASE_EXPORT std::string Uint64ToString(uint64 value);
+BASE_EXPORT string16 Uint64ToString16(uint64 value);
// DoubleToString converts the double to a string format that ignores the
// locale. If you want to use locale specific formatting, use ICU.
-BASE_API std::string DoubleToString(double value);
+BASE_EXPORT std::string DoubleToString(double value);
// String -> number conversions ------------------------------------------------
@@ -58,30 +58,32 @@ BASE_API std::string DoubleToString(double value);
// - No characters parseable as a number at the beginning of the string.
// |*output| will be set to 0.
// - Empty string. |*output| will be set to 0.
-BASE_API bool StringToInt(const std::string& input, int* output);
-BASE_API bool StringToInt(std::string::const_iterator begin,
- std::string::const_iterator end,
- int* output);
-BASE_API bool StringToInt(const char* begin, const char* end, int* output);
-
-BASE_API bool StringToInt(const string16& input, int* output);
-BASE_API bool StringToInt(string16::const_iterator begin,
- string16::const_iterator end,
- int* output);
-BASE_API bool StringToInt(const char16* begin, const char16* end, int* output);
-
-BASE_API bool StringToInt64(const std::string& input, int64* output);
-BASE_API bool StringToInt64(std::string::const_iterator begin,
- std::string::const_iterator end,
- int64* output);
-BASE_API bool StringToInt64(const char* begin, const char* end, int64* output);
-
-BASE_API bool StringToInt64(const string16& input, int64* output);
-BASE_API bool StringToInt64(string16::const_iterator begin,
- string16::const_iterator end,
- int64* output);
-BASE_API bool StringToInt64(const char16* begin, const char16* end,
- int64* output);
+BASE_EXPORT bool StringToInt(const std::string& input, int* output);
+BASE_EXPORT bool StringToInt(std::string::const_iterator begin,
+ std::string::const_iterator end,
+ int* output);
+BASE_EXPORT bool StringToInt(const char* begin, const char* end, int* output);
+
+BASE_EXPORT bool StringToInt(const string16& input, int* output);
+BASE_EXPORT bool StringToInt(string16::const_iterator begin,
+ string16::const_iterator end,
+ int* output);
+BASE_EXPORT bool StringToInt(const char16* begin, const char16* end,
+ int* output);
+
+BASE_EXPORT bool StringToInt64(const std::string& input, int64* output);
+BASE_EXPORT bool StringToInt64(std::string::const_iterator begin,
+ std::string::const_iterator end,
+ int64* output);
+BASE_EXPORT bool StringToInt64(const char* begin, const char* end,
+ int64* output);
+
+BASE_EXPORT bool StringToInt64(const string16& input, int64* output);
+BASE_EXPORT bool StringToInt64(string16::const_iterator begin,
+ string16::const_iterator end,
+ int64* output);
+BASE_EXPORT bool StringToInt64(const char16* begin, const char16* end,
+ int64* output);
// For floating-point conversions, only conversions of input strings in decimal
// form are defined to work. Behavior with strings representing floating-point
@@ -89,7 +91,7 @@ BASE_API bool StringToInt64(const char16* begin, const char16* end,
// NaN and inf) is undefined. Otherwise, these behave the same as the integral
// variants. This expects the input string to NOT be specific to the locale.
// If your input is locale specific, use ICU to read the number.
-BASE_API bool StringToDouble(const std::string& input, double* output);
+BASE_EXPORT bool StringToDouble(const std::string& input, double* output);
// Hex encoding ----------------------------------------------------------------
@@ -99,21 +101,22 @@ BASE_API bool StringToDouble(const std::string& input, double* output);
// you suspect that the data you want to format might be large, the absolute
// max size for |size| should be is
// std::numeric_limits<size_t>::max() / 2
-BASE_API std::string HexEncode(const void* bytes, size_t size);
+BASE_EXPORT std::string HexEncode(const void* bytes, size_t size);
// Best effort conversion, see StringToInt above for restrictions.
-BASE_API bool HexStringToInt(const std::string& input, int* output);
-BASE_API bool HexStringToInt(std::string::const_iterator begin,
- std::string::const_iterator end,
- int* output);
-BASE_API bool HexStringToInt(const char* begin, const char* end, int* output);
+BASE_EXPORT bool HexStringToInt(const std::string& input, int* output);
+BASE_EXPORT bool HexStringToInt(std::string::const_iterator begin,
+ std::string::const_iterator end,
+ int* output);
+BASE_EXPORT bool HexStringToInt(const char* begin, const char* end,
+ int* output);
// Similar to the previous functions, except that output is a vector of bytes.
// |*output| will contain as many bytes as were successfully parsed prior to the
// error. There is no overflow, but input.size() must be evenly divisible by 2.
// Leading 0x or +/- are not allowed.
-BASE_API bool HexStringToBytes(const std::string& input,
- std::vector<uint8>* output);
+BASE_EXPORT bool HexStringToBytes(const std::string& input,
+ std::vector<uint8>* output);
} // namespace base
diff --git a/base/string_piece.h b/base/string_piece.h
index 60380b1..1077ac1 100644
--- a/base/string_piece.h
+++ b/base/string_piece.h
@@ -21,12 +21,12 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
-class BASE_API StringPiece {
+class BASE_EXPORT StringPiece {
public:
// standard STL container boilerplate
typedef size_t size_type;
@@ -164,7 +164,7 @@ class BASE_API StringPiece {
size_type length_;
};
-BASE_API bool operator==(const StringPiece& x, const StringPiece& y);
+BASE_EXPORT bool operator==(const StringPiece& x, const StringPiece& y);
inline bool operator!=(const StringPiece& x, const StringPiece& y) {
return !(x == y);
diff --git a/base/string_split.h b/base/string_split.h
index 883b126..eb0c219 100644
--- a/base/string_split.h
+++ b/base/string_split.h
@@ -10,7 +10,7 @@
#include <utility>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
namespace base {
@@ -21,48 +21,48 @@ namespace base {
//
// Every substring is trimmed of any leading or trailing white space.
// NOTE: |c| must be in BMP (Basic Multilingual Plane)
-BASE_API void SplitString(const string16& str,
- char16 c,
- std::vector<string16>* r);
+BASE_EXPORT void SplitString(const string16& str,
+ char16 c,
+ std::vector<string16>* r);
// |str| should not be in a multi-byte encoding like Shift-JIS or GBK in which
// the trailing byte of a multi-byte character can be in the ASCII range.
// UTF-8, and other single/multi-byte ASCII-compatible encodings are OK.
// Note: |c| must be in the ASCII range.
-BASE_API void SplitString(const std::string& str,
- char c,
- std::vector<std::string>* r);
+BASE_EXPORT void SplitString(const std::string& str,
+ char c,
+ std::vector<std::string>* r);
-BASE_API bool SplitStringIntoKeyValues(
+BASE_EXPORT bool SplitStringIntoKeyValues(
const std::string& line,
char key_value_delimiter,
std::string* key, std::vector<std::string>* values);
-BASE_API bool SplitStringIntoKeyValuePairs(
+BASE_EXPORT bool SplitStringIntoKeyValuePairs(
const std::string& line,
char key_value_delimiter,
char key_value_pair_delimiter,
std::vector<std::pair<std::string, std::string> >* kv_pairs);
// The same as SplitString, but use a substring delimiter instead of a char.
-BASE_API void SplitStringUsingSubstr(const string16& str,
- const string16& s,
- std::vector<string16>* r);
-BASE_API void SplitStringUsingSubstr(const std::string& str,
- const std::string& s,
- std::vector<std::string>* r);
+BASE_EXPORT void SplitStringUsingSubstr(const string16& str,
+ const string16& s,
+ std::vector<string16>* r);
+BASE_EXPORT void SplitStringUsingSubstr(const std::string& str,
+ const std::string& s,
+ std::vector<std::string>* r);
// The same as SplitString, but don't trim white space.
// NOTE: |c| must be in BMP (Basic Multilingual Plane)
-BASE_API void SplitStringDontTrim(const string16& str,
- char16 c,
- std::vector<string16>* r);
+BASE_EXPORT void SplitStringDontTrim(const string16& str,
+ char16 c,
+ std::vector<string16>* r);
// |str| should not be in a multi-byte encoding like Shift-JIS or GBK in which
// the trailing byte of a multi-byte character can be in the ASCII range.
// UTF-8, and other single/multi-byte ASCII-compatible encodings are OK.
// Note: |c| must be in the ASCII range.
-BASE_API void SplitStringDontTrim(const std::string& str,
- char c,
- std::vector<std::string>* r);
+BASE_EXPORT void SplitStringDontTrim(const std::string& str,
+ char c,
+ std::vector<std::string>* r);
// WARNING: this uses whitespace as defined by the HTML5 spec. If you need
// a function similar to this but want to trim all types of whitespace, then
@@ -72,12 +72,12 @@ BASE_API void SplitStringDontTrim(const std::string& str,
// Splits the string along whitespace (where whitespace is the five space
// characters defined by HTML 5). Each contiguous block of non-whitespace
// characters is added to result.
-BASE_API void SplitStringAlongWhitespace(const std::wstring& str,
- std::vector<std::wstring>* result);
-BASE_API void SplitStringAlongWhitespace(const string16& str,
- std::vector<string16>* result);
-BASE_API void SplitStringAlongWhitespace(const std::string& str,
- std::vector<std::string>* result);
+BASE_EXPORT void SplitStringAlongWhitespace(const std::wstring& str,
+ std::vector<std::wstring>* result);
+BASE_EXPORT void SplitStringAlongWhitespace(const string16& str,
+ std::vector<string16>* result);
+BASE_EXPORT void SplitStringAlongWhitespace(const std::string& str,
+ std::vector<std::string>* result);
} // namespace base
diff --git a/base/string_util.h b/base/string_util.h
index 3f695a8..aa5966e 100644
--- a/base/string_util.h
+++ b/base/string_util.h
@@ -14,7 +14,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/string16.h"
@@ -93,8 +93,8 @@ inline int swprintf(wchar_t* buffer, size_t size, const wchar_t* format, ...) {
// long as |dst_size| is not 0. Returns the length of |src| in characters.
// If the return value is >= dst_size, then the output was truncated.
// NOTE: All sizes are in number of characters, NOT in bytes.
-BASE_API size_t strlcpy(char* dst, const char* src, size_t dst_size);
-BASE_API size_t wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size);
+BASE_EXPORT size_t strlcpy(char* dst, const char* src, size_t dst_size);
+BASE_EXPORT size_t wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size);
// Scan a wprintf format string to determine whether it's portable across a
// variety of systems. This function only checks that the conversion
@@ -117,7 +117,7 @@ BASE_API size_t wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size);
// working with wprintf.
//
// This function is intended to be called from base::vswprintf.
-BASE_API bool IsWprintfFormatPortable(const wchar_t* format);
+BASE_EXPORT bool IsWprintfFormatPortable(const wchar_t* format);
// ASCII-specific tolower. The standard library's tolower is locale sensitive,
// so we don't want to use it here.
@@ -168,43 +168,43 @@ template<typename Char> struct CaseInsensitiveCompareASCII {
// have an empty string to use (e.g. in an error case). These should not be
// used as initializers, function arguments, or return values for functions
// which return by value or outparam.
-BASE_API const std::string& EmptyString();
-BASE_API const std::wstring& EmptyWString();
-BASE_API const string16& EmptyString16();
+BASE_EXPORT const std::string& EmptyString();
+BASE_EXPORT const std::wstring& EmptyWString();
+BASE_EXPORT const string16& EmptyString16();
-BASE_API extern const wchar_t kWhitespaceWide[];
-BASE_API extern const char16 kWhitespaceUTF16[];
-BASE_API extern const char kWhitespaceASCII[];
+BASE_EXPORT extern const wchar_t kWhitespaceWide[];
+BASE_EXPORT extern const char16 kWhitespaceUTF16[];
+BASE_EXPORT extern const char kWhitespaceASCII[];
-BASE_API extern const char kUtf8ByteOrderMark[];
+BASE_EXPORT extern const char kUtf8ByteOrderMark[];
// Removes characters in remove_chars from anywhere in input. Returns true if
// any characters were removed.
// NOTE: Safe to use the same variable for both input and output.
-BASE_API bool RemoveChars(const string16& input,
- const char16 remove_chars[],
- string16* output);
-BASE_API bool RemoveChars(const std::string& input,
- const char remove_chars[],
- std::string* output);
+BASE_EXPORT bool RemoveChars(const string16& input,
+ const char16 remove_chars[],
+ string16* output);
+BASE_EXPORT bool RemoveChars(const std::string& input,
+ const char remove_chars[],
+ std::string* output);
// Removes characters in trim_chars from the beginning and end of input.
// NOTE: Safe to use the same variable for both input and output.
-BASE_API bool TrimString(const std::wstring& input,
- const wchar_t trim_chars[],
- std::wstring* output);
-BASE_API bool TrimString(const string16& input,
- const char16 trim_chars[],
- string16* output);
-BASE_API bool TrimString(const std::string& input,
- const char trim_chars[],
- std::string* output);
+BASE_EXPORT bool TrimString(const std::wstring& input,
+ const wchar_t trim_chars[],
+ std::wstring* output);
+BASE_EXPORT bool TrimString(const string16& input,
+ const char16 trim_chars[],
+ string16* output);
+BASE_EXPORT bool TrimString(const std::string& input,
+ const char trim_chars[],
+ std::string* output);
// Truncates a string to the nearest UTF-8 character that will leave
// the string less than or equal to the specified byte size.
-BASE_API void TruncateUTF8ToByteSize(const std::string& input,
- const size_t byte_size,
- std::string* output);
+BASE_EXPORT void TruncateUTF8ToByteSize(const std::string& input,
+ const size_t byte_size,
+ std::string* output);
// Trims any whitespace from either end of the input string. Returns where
// whitespace was found.
@@ -219,18 +219,18 @@ enum TrimPositions {
TRIM_TRAILING = 1 << 1,
TRIM_ALL = TRIM_LEADING | TRIM_TRAILING,
};
-BASE_API TrimPositions TrimWhitespace(const string16& input,
- TrimPositions positions,
- string16* output);
-BASE_API TrimPositions TrimWhitespaceASCII(const std::string& input,
- TrimPositions positions,
- std::string* output);
+BASE_EXPORT TrimPositions TrimWhitespace(const string16& input,
+ TrimPositions positions,
+ string16* output);
+BASE_EXPORT TrimPositions TrimWhitespaceASCII(const std::string& input,
+ TrimPositions positions,
+ std::string* output);
// Deprecated. This function is only for backward compatibility and calls
// TrimWhitespaceASCII().
-BASE_API TrimPositions TrimWhitespace(const std::string& input,
- TrimPositions positions,
- std::string* output);
+BASE_EXPORT TrimPositions TrimWhitespace(const std::string& input,
+ TrimPositions positions,
+ std::string* output);
// Searches for CR or LF characters. Removes all contiguous whitespace
// strings that contain them. This is useful when trying to deal with text
@@ -240,35 +240,38 @@ BASE_API TrimPositions TrimWhitespace(const std::string& input,
// (2) If |trim_sequences_with_line_breaks| is true, any other whitespace
// sequences containing a CR or LF are trimmed.
// (3) All other whitespace sequences are converted to single spaces.
-BASE_API std::wstring CollapseWhitespace(const std::wstring& text,
- bool trim_sequences_with_line_breaks);
-BASE_API string16 CollapseWhitespace(const string16& text,
- bool trim_sequences_with_line_breaks);
-BASE_API std::string CollapseWhitespaceASCII(
- const std::string& text, bool trim_sequences_with_line_breaks);
+BASE_EXPORT std::wstring CollapseWhitespace(
+ const std::wstring& text,
+ bool trim_sequences_with_line_breaks);
+BASE_EXPORT string16 CollapseWhitespace(
+ const string16& text,
+ bool trim_sequences_with_line_breaks);
+BASE_EXPORT std::string CollapseWhitespaceASCII(
+ const std::string& text,
+ bool trim_sequences_with_line_breaks);
// Returns true if the passed string is empty or contains only white-space
// characters.
-BASE_API bool ContainsOnlyWhitespaceASCII(const std::string& str);
-BASE_API bool ContainsOnlyWhitespace(const string16& str);
+BASE_EXPORT bool ContainsOnlyWhitespaceASCII(const std::string& str);
+BASE_EXPORT bool ContainsOnlyWhitespace(const string16& str);
// Returns true if |input| is empty or contains only characters found in
// |characters|.
-BASE_API bool ContainsOnlyChars(const std::wstring& input,
- const std::wstring& characters);
-BASE_API bool ContainsOnlyChars(const string16& input,
- const string16& characters);
-BASE_API bool ContainsOnlyChars(const std::string& input,
- const std::string& characters);
+BASE_EXPORT bool ContainsOnlyChars(const std::wstring& input,
+ const std::wstring& characters);
+BASE_EXPORT bool ContainsOnlyChars(const string16& input,
+ const string16& characters);
+BASE_EXPORT bool ContainsOnlyChars(const std::string& input,
+ const std::string& characters);
// Converts to 7-bit ASCII by truncating. The result must be known to be ASCII
// beforehand.
-BASE_API std::string WideToASCII(const std::wstring& wide);
-BASE_API std::string UTF16ToASCII(const string16& utf16);
+BASE_EXPORT std::string WideToASCII(const std::wstring& wide);
+BASE_EXPORT std::string UTF16ToASCII(const string16& utf16);
// Converts the given wide string to the corresponding Latin1. This will fail
// (return false) if any characters are more than 255.
-BASE_API bool WideToLatin1(const std::wstring& wide, std::string* latin1);
+BASE_EXPORT bool WideToLatin1(const std::wstring& wide, std::string* latin1);
// Returns true if the specified string matches the criteria. How can a wide
// string be 8-bit or UTF8? It contains only characters that are < 256 (in the
@@ -281,10 +284,10 @@ BASE_API bool WideToLatin1(const std::wstring& wide, std::string* latin1);
// to have the maximum 'discriminating' power from other encodings. If
// there's a use case for just checking the structural validity, we have to
// add a new function for that.
-BASE_API bool IsStringUTF8(const std::string& str);
-BASE_API bool IsStringASCII(const std::wstring& str);
-BASE_API bool IsStringASCII(const base::StringPiece& str);
-BASE_API bool IsStringASCII(const string16& str);
+BASE_EXPORT bool IsStringUTF8(const std::string& str);
+BASE_EXPORT bool IsStringASCII(const std::wstring& str);
+BASE_EXPORT bool IsStringASCII(const base::StringPiece& str);
+BASE_EXPORT bool IsStringASCII(const string16& str);
// Converts the elements of the given string. This version uses a pointer to
// clearly differentiate it from the non-pointer variant.
@@ -318,55 +321,55 @@ template <class str> inline str StringToUpperASCII(const str& s) {
// string. This is useful for doing checking if an input string matches some
// token, and it is optimized to avoid intermediate string copies. This API is
// borrowed from the equivalent APIs in Mozilla.
-BASE_API bool LowerCaseEqualsASCII(const std::string& a, const char* b);
-BASE_API bool LowerCaseEqualsASCII(const std::wstring& a, const char* b);
-BASE_API bool LowerCaseEqualsASCII(const string16& a, const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const std::string& a, const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const std::wstring& a, const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const string16& a, const char* b);
// Same thing, but with string iterators instead.
-BASE_API bool LowerCaseEqualsASCII(std::string::const_iterator a_begin,
- std::string::const_iterator a_end,
- const char* b);
-BASE_API bool LowerCaseEqualsASCII(std::wstring::const_iterator a_begin,
- std::wstring::const_iterator a_end,
- const char* b);
-BASE_API bool LowerCaseEqualsASCII(string16::const_iterator a_begin,
- string16::const_iterator a_end,
- const char* b);
-BASE_API bool LowerCaseEqualsASCII(const char* a_begin,
- const char* a_end,
- const char* b);
-BASE_API bool LowerCaseEqualsASCII(const wchar_t* a_begin,
- const wchar_t* a_end,
- const char* b);
-BASE_API bool LowerCaseEqualsASCII(const char16* a_begin,
- const char16* a_end,
- const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(std::string::const_iterator a_begin,
+ std::string::const_iterator a_end,
+ const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(std::wstring::const_iterator a_begin,
+ std::wstring::const_iterator a_end,
+ const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(string16::const_iterator a_begin,
+ string16::const_iterator a_end,
+ const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const char* a_begin,
+ const char* a_end,
+ const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const wchar_t* a_begin,
+ const wchar_t* a_end,
+ const char* b);
+BASE_EXPORT bool LowerCaseEqualsASCII(const char16* a_begin,
+ const char16* a_end,
+ const char* b);
// Performs a case-sensitive string compare. The behavior is undefined if both
// strings are not ASCII.
-BASE_API bool EqualsASCII(const string16& a, const base::StringPiece& b);
+BASE_EXPORT bool EqualsASCII(const string16& a, const base::StringPiece& b);
// Returns true if str starts with search, or false otherwise.
-BASE_API bool StartsWithASCII(const std::string& str,
- const std::string& search,
- bool case_sensitive);
-BASE_API bool StartsWith(const std::wstring& str,
- const std::wstring& search,
- bool case_sensitive);
-BASE_API bool StartsWith(const string16& str,
- const string16& search,
- bool case_sensitive);
+BASE_EXPORT bool StartsWithASCII(const std::string& str,
+ const std::string& search,
+ bool case_sensitive);
+BASE_EXPORT bool StartsWith(const std::wstring& str,
+ const std::wstring& search,
+ bool case_sensitive);
+BASE_EXPORT bool StartsWith(const string16& str,
+ const string16& search,
+ bool case_sensitive);
// Returns true if str ends with search, or false otherwise.
-BASE_API bool EndsWith(const std::string& str,
- const std::string& search,
- bool case_sensitive);
-BASE_API bool EndsWith(const std::wstring& str,
- const std::wstring& search,
- bool case_sensitive);
-BASE_API bool EndsWith(const string16& str,
- const string16& search,
- bool case_sensitive);
+BASE_EXPORT bool EndsWith(const std::string& str,
+ const std::string& search,
+ bool case_sensitive);
+BASE_EXPORT bool EndsWith(const std::wstring& str,
+ const std::wstring& search,
+ bool case_sensitive);
+BASE_EXPORT bool EndsWith(const string16& str,
+ const string16& search,
+ bool case_sensitive);
// Determines the type of ASCII character, independent of locale (the C
@@ -412,15 +415,16 @@ inline bool IsWhitespace(wchar_t c) {
// appropriate for use in any UI; use of FormatBytes and friends in ui/base is
// highly recommended instead. TODO(avi): Figure out how to get callers to use
// FormatBytes instead; remove this.
-BASE_API string16 FormatBytesUnlocalized(int64 bytes);
+BASE_EXPORT string16 FormatBytesUnlocalized(int64 bytes);
// Starting at |start_offset| (usually 0), replace the first instance of
// |find_this| with |replace_with|.
-BASE_API void ReplaceFirstSubstringAfterOffset(string16* str,
- string16::size_type start_offset,
- const string16& find_this,
- const string16& replace_with);
-BASE_API void ReplaceFirstSubstringAfterOffset(
+BASE_EXPORT void ReplaceFirstSubstringAfterOffset(
+ string16* str,
+ string16::size_type start_offset,
+ const string16& find_this,
+ const string16& replace_with);
+BASE_EXPORT void ReplaceFirstSubstringAfterOffset(
std::string* str,
std::string::size_type start_offset,
const std::string& find_this,
@@ -432,14 +436,16 @@ BASE_API void ReplaceFirstSubstringAfterOffset(
// This does entire substrings; use std::replace in <algorithm> for single
// characters, for example:
// std::replace(str.begin(), str.end(), 'a', 'b');
-BASE_API void ReplaceSubstringsAfterOffset(string16* str,
- string16::size_type start_offset,
- const string16& find_this,
- const string16& replace_with);
-BASE_API void ReplaceSubstringsAfterOffset(std::string* str,
- std::string::size_type start_offset,
- const std::string& find_this,
- const std::string& replace_with);
+BASE_EXPORT void ReplaceSubstringsAfterOffset(
+ string16* str,
+ string16::size_type start_offset,
+ const string16& find_this,
+ const string16& replace_with);
+BASE_EXPORT void ReplaceSubstringsAfterOffset(
+ std::string* str,
+ std::string::size_type start_offset,
+ const std::string& find_this,
+ const std::string& replace_with);
// This is mpcomplete's pattern for saving a string copy when dealing with
// a function that writes results into a wchar_t[] and wanting the result to
@@ -469,49 +475,51 @@ inline typename string_type::value_type* WriteInto(string_type* str,
// Splits a string into its fields delimited by any of the characters in
// |delimiters|. Each field is added to the |tokens| vector. Returns the
// number of tokens found.
-BASE_API size_t Tokenize(const std::wstring& str,
- const std::wstring& delimiters,
- std::vector<std::wstring>* tokens);
-BASE_API size_t Tokenize(const string16& str,
- const string16& delimiters,
- std::vector<string16>* tokens);
-BASE_API size_t Tokenize(const std::string& str,
- const std::string& delimiters,
- std::vector<std::string>* tokens);
-BASE_API size_t Tokenize(const base::StringPiece& str,
- const base::StringPiece& delimiters,
- std::vector<base::StringPiece>* tokens);
+BASE_EXPORT size_t Tokenize(const std::wstring& str,
+ const std::wstring& delimiters,
+ std::vector<std::wstring>* tokens);
+BASE_EXPORT size_t Tokenize(const string16& str,
+ const string16& delimiters,
+ std::vector<string16>* tokens);
+BASE_EXPORT size_t Tokenize(const std::string& str,
+ const std::string& delimiters,
+ std::vector<std::string>* tokens);
+BASE_EXPORT size_t Tokenize(const base::StringPiece& str,
+ const base::StringPiece& delimiters,
+ std::vector<base::StringPiece>* tokens);
// Does the opposite of SplitString().
-BASE_API string16 JoinString(const std::vector<string16>& parts, char16 s);
-BASE_API std::string JoinString(const std::vector<std::string>& parts, char s);
+BASE_EXPORT string16 JoinString(const std::vector<string16>& parts, char16 s);
+BASE_EXPORT std::string JoinString(
+ const std::vector<std::string>& parts, char s);
// Replace $1-$2-$3..$9 in the format string with |a|-|b|-|c|..|i| respectively.
// Additionally, any number of consecutive '$' characters is replaced by that
// number less one. Eg $$->$, $$$->$$, etc. The offsets parameter here can be
// NULL. This only allows you to use up to nine replacements.
-BASE_API string16 ReplaceStringPlaceholders(const string16& format_string,
- const std::vector<string16>& subst,
- std::vector<size_t>* offsets);
+BASE_EXPORT string16 ReplaceStringPlaceholders(
+ const string16& format_string,
+ const std::vector<string16>& subst,
+ std::vector<size_t>* offsets);
-BASE_API std::string ReplaceStringPlaceholders(
+BASE_EXPORT std::string ReplaceStringPlaceholders(
const base::StringPiece& format_string,
const std::vector<std::string>& subst,
std::vector<size_t>* offsets);
// Single-string shortcut for ReplaceStringHolders. |offset| may be NULL.
-BASE_API string16 ReplaceStringPlaceholders(const string16& format_string,
- const string16& a,
- size_t* offset);
+BASE_EXPORT string16 ReplaceStringPlaceholders(const string16& format_string,
+ const string16& a,
+ size_t* offset);
// Returns true if the string passed in matches the pattern. The pattern
// string can contain wildcards like * and ?
// The backslash character (\) is an escape character for * and ?
// We limit the patterns to having a max of 16 * or ? characters.
// ? matches 0 or 1 character, while * matches 0 or more characters.
-BASE_API bool MatchPattern(const base::StringPiece& string,
- const base::StringPiece& pattern);
-BASE_API bool MatchPattern(const string16& string, const string16& pattern);
+BASE_EXPORT bool MatchPattern(const base::StringPiece& string,
+ const base::StringPiece& pattern);
+BASE_EXPORT bool MatchPattern(const string16& string, const string16& pattern);
// Hack to convert any char-like type to its unsigned counterpart.
// For example, it will convert char, signed char and unsigned char to unsigned
diff --git a/base/stringprintf.h b/base/stringprintf.h
index fb32f20..40ad107 100644
--- a/base/stringprintf.h
+++ b/base/stringprintf.h
@@ -9,42 +9,43 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/compiler_specific.h"
namespace base {
// Return a C++ string given printf-like input.
-BASE_API std::string StringPrintf(const char* format, ...) PRINTF_FORMAT(1, 2);
-BASE_API std::wstring StringPrintf(const wchar_t* format, ...)
+BASE_EXPORT std::string StringPrintf(const char* format, ...)
+ PRINTF_FORMAT(1, 2);
+BASE_EXPORT std::wstring StringPrintf(const wchar_t* format, ...)
WPRINTF_FORMAT(1, 2);
// Return a C++ string given vprintf-like input.
-BASE_API std::string StringPrintV(const char* format, va_list ap)
+BASE_EXPORT std::string StringPrintV(const char* format, va_list ap)
PRINTF_FORMAT(1, 0);
// Store result into a supplied string and return it.
-BASE_API const std::string& SStringPrintf(std::string* dst,
- const char* format, ...)
+BASE_EXPORT const std::string& SStringPrintf(std::string* dst,
+ const char* format, ...)
PRINTF_FORMAT(2, 3);
-BASE_API const std::wstring& SStringPrintf(std::wstring* dst,
- const wchar_t* format, ...)
+BASE_EXPORT const std::wstring& SStringPrintf(std::wstring* dst,
+ const wchar_t* format, ...)
WPRINTF_FORMAT(2, 3);
// Append result to a supplied string.
-BASE_API void StringAppendF(std::string* dst, const char* format, ...)
+BASE_EXPORT void StringAppendF(std::string* dst, const char* format, ...)
PRINTF_FORMAT(2, 3);
// TODO(evanm): this is only used in a few places in the code;
// replace with string16 version.
-BASE_API void StringAppendF(std::wstring* dst, const wchar_t* format, ...)
+BASE_EXPORT void StringAppendF(std::wstring* dst, const wchar_t* format, ...)
WPRINTF_FORMAT(2, 3);
// Lower-level routine that takes a va_list and appends to a specified
// string. All other routines are just convenience wrappers around it.
-BASE_API void StringAppendV(std::string* dst, const char* format, va_list ap)
+BASE_EXPORT void StringAppendV(std::string* dst, const char* format, va_list ap)
PRINTF_FORMAT(2, 0);
-BASE_API void StringAppendV(std::wstring* dst,
- const wchar_t* format, va_list ap)
+BASE_EXPORT void StringAppendV(std::wstring* dst,
+ const wchar_t* format, va_list ap)
WPRINTF_FORMAT(2, 0);
} // namespace base
diff --git a/base/sync_socket.h b/base/sync_socket.h
index bcebbdfa..221e7b0 100644
--- a/base/sync_socket.h
+++ b/base/sync_socket.h
@@ -16,11 +16,11 @@
#endif
#include <sys/types.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
-class BASE_API SyncSocket {
+class BASE_EXPORT SyncSocket {
public:
#if defined(OS_WIN)
typedef HANDLE Handle;
diff --git a/base/synchronization/cancellation_flag.h b/base/synchronization/cancellation_flag.h
index 5738929..7734b34 100644
--- a/base/synchronization/cancellation_flag.h
+++ b/base/synchronization/cancellation_flag.h
@@ -6,7 +6,7 @@
#define BASE_SYNCHRONIZATION_CANCELLATION_FLAG_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/atomicops.h"
#include "base/threading/platform_thread.h"
@@ -17,7 +17,7 @@ namespace base {
// is thread-safe.
//
// This class IS NOT intended for synchronization between threads.
-class BASE_API CancellationFlag {
+class BASE_EXPORT CancellationFlag {
public:
CancellationFlag() : flag_(false) {
#if !defined(NDEBUG)
diff --git a/base/synchronization/condition_variable.h b/base/synchronization/condition_variable.h
index d70d4cd..1b3b2ff 100644
--- a/base/synchronization/condition_variable.h
+++ b/base/synchronization/condition_variable.h
@@ -74,7 +74,7 @@
#include <pthread.h>
#endif
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/synchronization/lock.h"
@@ -82,7 +82,7 @@ namespace base {
class TimeDelta;
-class BASE_API ConditionVariable {
+class BASE_EXPORT ConditionVariable {
public:
// Construct a cv for use with ONLY one user lock.
explicit ConditionVariable(Lock* user_lock);
diff --git a/base/synchronization/lock.h b/base/synchronization/lock.h
index 46d1ab3..f3a685e 100644
--- a/base/synchronization/lock.h
+++ b/base/synchronization/lock.h
@@ -6,7 +6,7 @@
#define BASE_SYNCHRONIZATION_LOCK_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/synchronization/lock_impl.h"
#include "base/threading/platform_thread.h"
@@ -15,7 +15,7 @@ namespace base {
// A convenient wrapper for an OS specific critical section. The only real
// intelligence in this class is in debug mode for the support for the
// AssertAcquired() method.
-class BASE_API Lock {
+class BASE_EXPORT Lock {
public:
#if defined(NDEBUG) // Optimized wrapper implementation
Lock() : lock_() {}
diff --git a/base/synchronization/lock_impl.h b/base/synchronization/lock_impl.h
index 79bc147..63efc5ff 100644
--- a/base/synchronization/lock_impl.h
+++ b/base/synchronization/lock_impl.h
@@ -14,7 +14,7 @@
#include <pthread.h>
#endif
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -23,7 +23,7 @@ namespace internal {
// This class implements the underlying platform-specific spin-lock mechanism
// used for the Lock class. Most users should not use LockImpl directly, but
// should instead use Lock.
-class BASE_API LockImpl {
+class BASE_EXPORT LockImpl {
public:
#if defined(OS_WIN)
typedef CRITICAL_SECTION OSLockType;
diff --git a/base/synchronization/waitable_event.h b/base/synchronization/waitable_event.h
index 1ab20fa..62712ed 100644
--- a/base/synchronization/waitable_event.h
+++ b/base/synchronization/waitable_event.h
@@ -6,7 +6,7 @@
#define BASE_SYNCHRONIZATION_WAITABLE_EVENT_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(OS_WIN)
@@ -42,7 +42,7 @@ class TimeDelta;
// by a Windows event object. This is intentional. If you are writing Windows
// specific code and you need other features of a Windows event, then you might
// be better off just using an Windows event directly.
-class BASE_API WaitableEvent {
+class BASE_EXPORT WaitableEvent {
public:
// If manual_reset is true, then to set the event state to non-signaled, a
// consumer must call the Reset method. If this parameter is false, then the
diff --git a/base/synchronization/waitable_event_watcher.h b/base/synchronization/waitable_event_watcher.h
index 6e1d197..116e274 100644
--- a/base/synchronization/waitable_event_watcher.h
+++ b/base/synchronization/waitable_event_watcher.h
@@ -15,7 +15,7 @@
#include "base/synchronization/waitable_event.h"
#endif
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
@@ -60,7 +60,7 @@ class WaitableEvent;
// it with a Watcher. It will act as if the event was never signaled.
// -----------------------------------------------------------------------------
-class BASE_API WaitableEventWatcher
+class BASE_EXPORT WaitableEventWatcher
#if defined(OS_POSIX)
: public MessageLoop::DestructionObserver
#endif
diff --git a/base/sys_info.h b/base/sys_info.h
index 0d23775..f3677d6 100644
--- a/base/sys_info.h
+++ b/base/sys_info.h
@@ -6,7 +6,7 @@
#define BASE_SYS_INFO_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include <string>
@@ -15,7 +15,7 @@ class FilePath;
namespace base {
-class BASE_API SysInfo {
+class BASE_EXPORT SysInfo {
public:
// Return the number of logical processors/cores on the current machine.
static int NumberOfProcessors();
diff --git a/base/sys_string_conversions.h b/base/sys_string_conversions.h
index fefc2fa..d2f4d1b 100644
--- a/base/sys_string_conversions.h
+++ b/base/sys_string_conversions.h
@@ -12,7 +12,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/string16.h"
@@ -31,14 +31,14 @@ class StringPiece;
// Converts between wide and UTF-8 representations of a string. On error, the
// result is system-dependent.
-BASE_API std::string SysWideToUTF8(const std::wstring& wide);
-BASE_API std::wstring SysUTF8ToWide(const StringPiece& utf8);
+BASE_EXPORT std::string SysWideToUTF8(const std::wstring& wide);
+BASE_EXPORT std::wstring SysUTF8ToWide(const StringPiece& utf8);
// Converts between wide and the system multi-byte representations of a string.
// DANGER: This will lose information and can change (on Windows, this can
// change between reboots).
-BASE_API std::string SysWideToNativeMB(const std::wstring& wide);
-BASE_API std::wstring SysNativeMBToWide(const StringPiece& native_mb);
+BASE_EXPORT std::string SysWideToNativeMB(const std::wstring& wide);
+BASE_EXPORT std::wstring SysNativeMBToWide(const StringPiece& native_mb);
// Windows-specific ------------------------------------------------------------
@@ -47,10 +47,10 @@ BASE_API std::wstring SysNativeMBToWide(const StringPiece& native_mb);
// Converts between 8-bit and wide strings, using the given code page. The
// code page identifier is one accepted by the Windows function
// MultiByteToWideChar().
-BASE_API std::wstring SysMultiByteToWide(const StringPiece& mb,
- uint32 code_page);
-BASE_API std::string SysWideToMultiByte(const std::wstring& wide,
- uint32 code_page);
+BASE_EXPORT std::wstring SysMultiByteToWide(const StringPiece& mb,
+ uint32 code_page);
+BASE_EXPORT std::string SysWideToMultiByte(const std::wstring& wide,
+ uint32 code_page);
#endif // defined(OS_WIN)
@@ -62,25 +62,25 @@ BASE_API std::string SysWideToMultiByte(const std::wstring& wide,
// Creates a string, and returns it with a refcount of 1. You are responsible
// for releasing it. Returns NULL on failure.
-BASE_API CFStringRef SysUTF8ToCFStringRef(const std::string& utf8);
-BASE_API CFStringRef SysUTF16ToCFStringRef(const string16& utf16);
-BASE_API CFStringRef SysWideToCFStringRef(const std::wstring& wide);
+BASE_EXPORT CFStringRef SysUTF8ToCFStringRef(const std::string& utf8);
+BASE_EXPORT CFStringRef SysUTF16ToCFStringRef(const string16& utf16);
+BASE_EXPORT CFStringRef SysWideToCFStringRef(const std::wstring& wide);
// Same, but returns an autoreleased NSString.
-BASE_API NSString* SysUTF8ToNSString(const std::string& utf8);
-BASE_API NSString* SysUTF16ToNSString(const string16& utf16);
-BASE_API NSString* SysWideToNSString(const std::wstring& wide);
+BASE_EXPORT NSString* SysUTF8ToNSString(const std::string& utf8);
+BASE_EXPORT NSString* SysUTF16ToNSString(const string16& utf16);
+BASE_EXPORT NSString* SysWideToNSString(const std::wstring& wide);
// Converts a CFStringRef to an STL string. Returns an empty string on failure.
-BASE_API std::string SysCFStringRefToUTF8(CFStringRef ref);
-BASE_API string16 SysCFStringRefToUTF16(CFStringRef ref);
-BASE_API std::wstring SysCFStringRefToWide(CFStringRef ref);
+BASE_EXPORT std::string SysCFStringRefToUTF8(CFStringRef ref);
+BASE_EXPORT string16 SysCFStringRefToUTF16(CFStringRef ref);
+BASE_EXPORT std::wstring SysCFStringRefToWide(CFStringRef ref);
// Same, but accepts NSString input. Converts nil NSString* to the appropriate
// string type of length 0.
-BASE_API std::string SysNSStringToUTF8(NSString* ref);
-BASE_API string16 SysNSStringToUTF16(NSString* ref);
-BASE_API std::wstring SysNSStringToWide(NSString* ref);
+BASE_EXPORT std::string SysNSStringToUTF8(NSString* ref);
+BASE_EXPORT string16 SysNSStringToUTF16(NSString* ref);
+BASE_EXPORT std::wstring SysNSStringToWide(NSString* ref);
#endif // defined(OS_MACOSX)
diff --git a/base/system_monitor/system_monitor.h b/base/system_monitor/system_monitor.h
index 78ab50a..c779994 100644
--- a/base/system_monitor/system_monitor.h
+++ b/base/system_monitor/system_monitor.h
@@ -6,7 +6,7 @@
#define BASE_SYSTEM_MONITOR_SYSTEM_MONITOR_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "build/build_config.h"
@@ -33,7 +33,7 @@ namespace base {
// Class for monitoring various system-related subsystems
// such as power management, network status, etc.
// TODO(mbelshe): Add support beyond just power management.
-class BASE_API SystemMonitor {
+class BASE_EXPORT SystemMonitor {
public:
// Normalized list of power events.
enum PowerEvent {
@@ -74,7 +74,7 @@ class BASE_API SystemMonitor {
// are finished. Observers should implement quick callback functions; if
// lengthy operations are needed, the observer should take care to invoke
// the operation on an appropriate thread.
- class BASE_API PowerObserver {
+ class BASE_EXPORT PowerObserver {
public:
// Notification of a change in power status of the computer, such
// as from switching between battery and A/C power.
diff --git a/base/task.h b/base/task.h
index 4bee08c..460c8c2 100644
--- a/base/task.h
+++ b/base/task.h
@@ -6,7 +6,7 @@
#define BASE_TASK_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/debug/alias.h"
#include "base/memory/raw_scoped_refptr_mismatch_checker.h"
#include "base/memory/weak_ptr.h"
@@ -22,7 +22,7 @@ const size_t kDeadTask = 0xDEAD7A53;
// A task is a generic runnable thingy, usually used for running code on a
// different thread or for scheduling future tasks off of the message loop.
-class BASE_API Task : public tracked_objects::Tracked {
+class BASE_EXPORT Task : public tracked_objects::Tracked {
public:
Task();
virtual ~Task();
@@ -31,7 +31,7 @@ class BASE_API Task : public tracked_objects::Tracked {
virtual void Run() = 0;
};
-class BASE_API CancelableTask : public Task {
+class BASE_EXPORT CancelableTask : public Task {
public:
CancelableTask();
virtual ~CancelableTask();
@@ -550,7 +550,7 @@ namespace base {
// ScopedTaskRunner is akin to scoped_ptr for Tasks. It ensures that the Task
// is executed and deleted no matter how the current scope exits.
-class BASE_API ScopedTaskRunner {
+class BASE_EXPORT ScopedTaskRunner {
public:
// Takes ownership of the task.
explicit ScopedTaskRunner(Task* task);
diff --git a/base/task_queue.h b/base/task_queue.h
index 45a43e9..877201c4 100644
--- a/base/task_queue.h
+++ b/base/task_queue.h
@@ -8,13 +8,13 @@
#include <deque>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/task.h"
// A TaskQueue is a queue of tasks waiting to be run. To run the tasks, call
// the Run method. A task queue is itself a Task so that it can be placed in a
// message loop or another task queue.
-class BASE_API TaskQueue : public Task {
+class BASE_EXPORT TaskQueue : public Task {
public:
TaskQueue();
virtual ~TaskQueue();
diff --git a/base/third_party/nspr/prtime.h b/base/third_party/nspr/prtime.h
index a207021..ffbedec 100644
--- a/base/third_party/nspr/prtime.h
+++ b/base/third_party/nspr/prtime.h
@@ -52,7 +52,7 @@
#ifndef BASE_PRTIME_H__
#define BASE_PRTIME_H__
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/third_party/nspr/prtypes.h"
#define PR_ASSERT DCHECK
@@ -230,7 +230,7 @@ NSPR_API(PRTimeParameters) PR_GMTParameters(const PRExplodedTime *gmt);
* from the unit test.
*/
-BASE_API PRStatus PR_ParseTimeString (
+BASE_EXPORT PRStatus PR_ParseTimeString (
const char *string,
PRBool default_to_gmt,
PRTime *result);
diff --git a/base/threading/non_thread_safe_impl.h b/base/threading/non_thread_safe_impl.h
index ab0999a..4a70e34 100644
--- a/base/threading/non_thread_safe_impl.h
+++ b/base/threading/non_thread_safe_impl.h
@@ -6,7 +6,7 @@
#define BASE_THREADING_NON_THREAD_SAFE_IMPL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/threading/thread_checker_impl.h"
namespace base {
@@ -17,7 +17,7 @@ namespace base {
//
// Note: You should almost always use the NonThreadSafe class to get
// the right version of the class for your build configuration.
-class BASE_API NonThreadSafeImpl {
+class BASE_EXPORT NonThreadSafeImpl {
public:
~NonThreadSafeImpl();
diff --git a/base/threading/platform_thread.h b/base/threading/platform_thread.h
index 230d209..4703b96 100644
--- a/base/threading/platform_thread.h
+++ b/base/threading/platform_thread.h
@@ -10,7 +10,7 @@
#define BASE_THREADING_PLATFORM_THREAD_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "build/build_config.h"
@@ -55,11 +55,11 @@ enum ThreadPriority{
};
// A namespace for low-level thread functions.
-class BASE_API PlatformThread {
+class BASE_EXPORT PlatformThread {
public:
// Implement this interface to run code on a background thread. Your
// ThreadMain method will be called on the newly created thread.
- class BASE_API Delegate {
+ class BASE_EXPORT Delegate {
public:
virtual ~Delegate() {}
virtual void ThreadMain() = 0;
diff --git a/base/threading/simple_thread.h b/base/threading/simple_thread.h
index 5d8c458..ae36f26 100644
--- a/base/threading/simple_thread.h
+++ b/base/threading/simple_thread.h
@@ -45,7 +45,7 @@
#include <queue>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/threading/platform_thread.h"
#include "base/synchronization/lock.h"
@@ -55,9 +55,9 @@ namespace base {
// This is the base SimpleThread. You can derive from it and implement the
// virtual Run method, or you can use the DelegateSimpleThread interface.
-class BASE_API SimpleThread : public PlatformThread::Delegate {
+class BASE_EXPORT SimpleThread : public PlatformThread::Delegate {
public:
- class BASE_API Options {
+ class BASE_EXPORT Options {
public:
Options() : stack_size_(0) { }
~Options() { }
@@ -120,9 +120,9 @@ class BASE_API SimpleThread : public PlatformThread::Delegate {
bool joined_; // True if Join has been called.
};
-class BASE_API DelegateSimpleThread : public SimpleThread {
+class BASE_EXPORT DelegateSimpleThread : public SimpleThread {
public:
- class BASE_API Delegate {
+ class BASE_EXPORT Delegate {
public:
Delegate() { }
virtual ~Delegate() { }
@@ -150,7 +150,7 @@ class BASE_API DelegateSimpleThread : public SimpleThread {
// JoinAll() will make sure that all outstanding work is processed, and wait
// for everything to finish. You can reuse a pool, so you can call Start()
// again after you've called JoinAll().
-class BASE_API DelegateSimpleThreadPool
+class BASE_EXPORT DelegateSimpleThreadPool
: public DelegateSimpleThread::Delegate {
public:
typedef DelegateSimpleThread::Delegate Delegate;
diff --git a/base/threading/thread.h b/base/threading/thread.h
index 9a181c0..58a4cc2 100644
--- a/base/threading/thread.h
+++ b/base/threading/thread.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/message_loop.h"
#include "base/message_loop_proxy.h"
#include "base/threading/platform_thread.h"
@@ -26,7 +26,7 @@ namespace base {
// (1) Thread::CleanUp()
// (2) MessageLoop::~MessageLoop
// (3.b) MessageLoop::DestructionObserver::WillDestroyCurrentMessageLoop
-class BASE_API Thread : PlatformThread::Delegate {
+class BASE_EXPORT Thread : PlatformThread::Delegate {
public:
struct Options {
Options() : message_loop_type(MessageLoop::TYPE_DEFAULT), stack_size(0) {}
diff --git a/base/threading/thread_checker_impl.h b/base/threading/thread_checker_impl.h
index 02ecebf..4295560 100644
--- a/base/threading/thread_checker_impl.h
+++ b/base/threading/thread_checker_impl.h
@@ -6,7 +6,7 @@
#define BASE_THREADING_THREAD_CHECKER_IMPL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/synchronization/lock.h"
#include "base/threading/platform_thread.h"
@@ -18,7 +18,7 @@ namespace base {
//
// Note: You should almost always use the ThreadChecker class to get the
// right version for your build configuration.
-class BASE_API ThreadCheckerImpl {
+class BASE_EXPORT ThreadCheckerImpl {
public:
ThreadCheckerImpl();
~ThreadCheckerImpl();
diff --git a/base/threading/thread_collision_warner.h b/base/threading/thread_collision_warner.h
index b26568d..4460602 100644
--- a/base/threading/thread_collision_warner.h
+++ b/base/threading/thread_collision_warner.h
@@ -8,7 +8,7 @@
#include <memory>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/atomicops.h"
// A helper class alongside macros to be used to verify assumptions about thread
@@ -131,17 +131,17 @@ namespace base {
// AsserterBase is the interfaces and DCheckAsserter is the default asserter
// used. During the unit tests is used another class that doesn't "DCHECK"
// in case of collision (check thread_collision_warner_unittests.cc)
-struct BASE_API AsserterBase {
+struct BASE_EXPORT AsserterBase {
virtual ~AsserterBase() {}
virtual void warn() = 0;
};
-struct BASE_API DCheckAsserter : public AsserterBase {
+struct BASE_EXPORT DCheckAsserter : public AsserterBase {
virtual ~DCheckAsserter() {}
virtual void warn();
};
-class BASE_API ThreadCollisionWarner {
+class BASE_EXPORT ThreadCollisionWarner {
public:
// The parameter asserter is there only for test purpose
ThreadCollisionWarner(AsserterBase* asserter = new DCheckAsserter())
@@ -158,7 +158,7 @@ class BASE_API ThreadCollisionWarner {
// it doesn't leave the critical section, as opposed to ScopedCheck,
// because the critical section being pinned is allowed to be used only
// from one thread
- class BASE_API Check {
+ class BASE_EXPORT Check {
public:
explicit Check(ThreadCollisionWarner* warner)
: warner_(warner) {
@@ -175,7 +175,7 @@ class BASE_API ThreadCollisionWarner {
// This class is meant to be used through the macro
// DFAKE_SCOPED_LOCK
- class BASE_API ScopedCheck {
+ class BASE_EXPORT ScopedCheck {
public:
explicit ScopedCheck(ThreadCollisionWarner* warner)
: warner_(warner) {
@@ -194,7 +194,7 @@ class BASE_API ThreadCollisionWarner {
// This class is meant to be used through the macro
// DFAKE_SCOPED_RECURSIVE_LOCK
- class BASE_API ScopedRecursiveCheck {
+ class BASE_EXPORT ScopedRecursiveCheck {
public:
explicit ScopedRecursiveCheck(ThreadCollisionWarner* warner)
: warner_(warner) {
diff --git a/base/threading/thread_local.h b/base/threading/thread_local.h
index 4bacf92..3cdcb94 100644
--- a/base/threading/thread_local.h
+++ b/base/threading/thread_local.h
@@ -49,7 +49,7 @@
#define BASE_THREADING_THREAD_LOCAL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(OS_POSIX)
@@ -61,7 +61,7 @@ namespace base {
namespace internal {
// Helper functions that abstract the cross-platform APIs. Do not use directly.
-struct BASE_API ThreadLocalPlatform {
+struct BASE_EXPORT ThreadLocalPlatform {
#if defined(OS_WIN)
typedef unsigned long SlotType;
#elif defined(OS_POSIX)
diff --git a/base/threading/thread_local_storage.h b/base/threading/thread_local_storage.h
index f882729..cfac633 100644
--- a/base/threading/thread_local_storage.h
+++ b/base/threading/thread_local_storage.h
@@ -6,7 +6,7 @@
#define BASE_THREADING_THREAD_LOCAL_STORAGE_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(OS_POSIX)
@@ -17,7 +17,7 @@ namespace base {
// Wrapper for thread local storage. This class doesn't do much except provide
// an API for portability.
-class BASE_API ThreadLocalStorage {
+class BASE_EXPORT ThreadLocalStorage {
public:
// Prototype for the TLS destructor function, which can be optionally used to
@@ -26,7 +26,7 @@ class BASE_API ThreadLocalStorage {
typedef void (*TLSDestructorFunc)(void* value);
// A key representing one value stored in TLS.
- class BASE_API Slot {
+ class BASE_EXPORT Slot {
public:
explicit Slot(TLSDestructorFunc destructor = NULL);
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
index 98e0422..fc8ab4b 100644
--- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h
@@ -5,7 +5,7 @@
#ifndef BASE_THREADING_THREAD_RESTRICTIONS_H_
#define BASE_THREADING_THREAD_RESTRICTIONS_H_
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -36,11 +36,11 @@ namespace base {
// only calls other functions in Chrome and not fopen(), you should go
// add the AssertIOAllowed checks in the helper functions.
-class BASE_API ThreadRestrictions {
+class BASE_EXPORT ThreadRestrictions {
public:
// Constructing a ScopedAllowIO temporarily allows IO for the current
// thread. Doing this is almost certainly always incorrect.
- class BASE_API ScopedAllowIO {
+ class BASE_EXPORT ScopedAllowIO {
public:
ScopedAllowIO() { previous_value_ = SetIOAllowed(true); }
~ScopedAllowIO() { SetIOAllowed(previous_value_); }
@@ -53,7 +53,7 @@ class BASE_API ThreadRestrictions {
// Constructing a ScopedAllowSingleton temporarily allows accessing for the
// current thread. Doing this is almost always incorrect.
- class BASE_API ScopedAllowSingleton {
+ class BASE_EXPORT ScopedAllowSingleton {
public:
ScopedAllowSingleton() { previous_value_ = SetSingletonAllowed(true); }
~ScopedAllowSingleton() { SetSingletonAllowed(previous_value_); }
diff --git a/base/threading/watchdog.h b/base/threading/watchdog.h
index fafda43..7991c30 100644
--- a/base/threading/watchdog.h
+++ b/base/threading/watchdog.h
@@ -21,7 +21,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/synchronization/condition_variable.h"
#include "base/synchronization/lock.h"
#include "base/threading/platform_thread.h"
@@ -29,7 +29,7 @@
namespace base {
-class BASE_API Watchdog {
+class BASE_EXPORT Watchdog {
public:
// Constructor specifies how long the Watchdog will wait before alarming.
Watchdog(const TimeDelta& duration,
diff --git a/base/threading/worker_pool.h b/base/threading/worker_pool.h
index 58471b5..384dcd1 100644
--- a/base/threading/worker_pool.h
+++ b/base/threading/worker_pool.h
@@ -6,7 +6,7 @@
#define BASE_THREADING_WORKER_POOL_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/callback.h"
#include "base/tracked.h"
@@ -22,7 +22,7 @@ namespace base {
// inside the pool must be extremely careful about other objects they access
// (MessageLoops, Singletons, etc). During shutdown these object may no longer
// exist.
-class BASE_API WorkerPool {
+class BASE_EXPORT WorkerPool {
public:
// This function posts |task| to run on a worker thread. |task_is_slow|
// should be used for tasks that will take a long time to execute. Returns
diff --git a/base/threading/worker_pool_posix.h b/base/threading/worker_pool_posix.h
index bf75c78..b1930e6 100644
--- a/base/threading/worker_pool_posix.h
+++ b/base/threading/worker_pool_posix.h
@@ -41,7 +41,7 @@ class Task;
namespace base {
-class BASE_API PosixDynamicThreadPool
+class BASE_EXPORT PosixDynamicThreadPool
: public RefCountedThreadSafe<PosixDynamicThreadPool> {
public:
class PosixDynamicThreadPoolPeer;
diff --git a/base/time.h b/base/time.h
index 9ece389..aa97f0a 100644
--- a/base/time.h
+++ b/base/time.h
@@ -26,7 +26,7 @@
#include <time.h>
#include "base/atomicops.h"
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#if defined(OS_POSIX)
@@ -47,7 +47,7 @@ class TimeTicks;
// TimeDelta ------------------------------------------------------------------
-class BASE_API TimeDelta {
+class BASE_EXPORT TimeDelta {
public:
TimeDelta() : delta_(0) {
}
@@ -177,7 +177,7 @@ inline TimeDelta operator*(int64 a, TimeDelta td) {
// Time -----------------------------------------------------------------------
// Represents a wall clock time.
-class BASE_API Time {
+class BASE_EXPORT Time {
public:
static const int64 kMillisecondsPerSecond = 1000;
static const int64 kMicrosecondsPerMillisecond = 1000;
@@ -203,7 +203,7 @@ class BASE_API Time {
// Represents an exploded time that can be formatted nicely. This is kind of
// like the Win32 SYSTEMTIME structure or the Unix "struct tm" with a few
// additions and changes to prevent errors.
- struct BASE_API Exploded {
+ struct BASE_EXPORT Exploded {
int year; // Four digit year "2007"
int month; // 1-based month (values 1 = January, etc.)
int day_of_week; // 0-based day of week (0 = Sunday, etc.)
@@ -457,7 +457,7 @@ inline Time TimeDelta::operator+(Time t) const {
// TimeTicks ------------------------------------------------------------------
-class BASE_API TimeTicks {
+class BASE_EXPORT TimeTicks {
public:
TimeTicks() : ticks_(0) {
}
diff --git a/base/timer.h b/base/timer.h
index 6fe826a..2e21582 100644
--- a/base/timer.h
+++ b/base/timer.h
@@ -47,7 +47,7 @@
// because they're flaky on the buildbot, but when you run them locally you
// should be able to tell the difference.
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/logging.h"
#include "base/task.h"
#include "base/time.h"
@@ -62,7 +62,7 @@ namespace base {
//
// This class exists to share code between BaseTimer<T> template instantiations.
//
-class BASE_API BaseTimer_Helper {
+class BASE_EXPORT BaseTimer_Helper {
public:
// Stops the timer.
~BaseTimer_Helper() {
diff --git a/base/tracked.cc b/base/tracked.cc
index 7ca18fd..124e721 100644
--- a/base/tracked.cc
+++ b/base/tracked.cc
@@ -74,7 +74,7 @@ void Location::WriteFunctionName(std::string* output) const {
#if defined(COMPILER_MSVC)
__declspec(noinline)
#endif
-BASE_API const void* GetProgramCounter() {
+BASE_EXPORT const void* GetProgramCounter() {
#if defined(COMPILER_MSVC)
return _ReturnAddress();
#elif defined(COMPILER_GCC)
diff --git a/base/tracked.h b/base/tracked.h
index af7029e..3c73519 100644
--- a/base/tracked.h
+++ b/base/tracked.h
@@ -21,7 +21,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/time.h"
#ifndef NDEBUG
@@ -36,7 +36,7 @@ namespace tracked_objects {
// Location provides basic info where of an object was constructed, or was
// significantly brought to life.
-class BASE_API Location {
+class BASE_EXPORT Location {
public:
// Constructor should be called with a long-lived char*, such as __FILE__.
// It assumes the provided value will persist as a global constant, and it
@@ -81,7 +81,7 @@ class BASE_API Location {
const void* const program_counter_;
};
-BASE_API const void* GetProgramCounter();
+BASE_EXPORT const void* GetProgramCounter();
//------------------------------------------------------------------------------
// Define a macro to record the current source location.
@@ -98,7 +98,7 @@ BASE_API const void* GetProgramCounter();
class Births;
-class BASE_API Tracked {
+class BASE_EXPORT Tracked {
public:
Tracked();
virtual ~Tracked();
diff --git a/base/tracked_objects.h b/base/tracked_objects.h
index b6ab345..6044408 100644
--- a/base/tracked_objects.h
+++ b/base/tracked_objects.h
@@ -10,7 +10,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/synchronization/lock.h"
#include "base/tracked.h"
#include "base/threading/thread_local_storage.h"
@@ -157,7 +157,7 @@ namespace tracked_objects {
// For a specific thread, and a specific birth place, the collection of all
// death info (with tallies for each death thread, to prevent access conflicts).
class ThreadData;
-class BASE_API BirthOnThread {
+class BASE_EXPORT BirthOnThread {
public:
explicit BirthOnThread(const Location& location);
@@ -180,7 +180,7 @@ class BASE_API BirthOnThread {
//------------------------------------------------------------------------------
// A class for accumulating counts of births (without bothering with a map<>).
-class BASE_API Births: public BirthOnThread {
+class BASE_EXPORT Births: public BirthOnThread {
public:
explicit Births(const Location& location);
@@ -208,7 +208,7 @@ class BASE_API Births: public BirthOnThread {
// birthplace (fixed Location). Used both on specific threads, and also used
// in snapshots when integrating assembled data.
-class BASE_API DeathData {
+class BASE_EXPORT DeathData {
public:
// Default initializer.
DeathData() : count_(0), square_duration_(0) {}
@@ -249,7 +249,7 @@ class BASE_API DeathData {
// The source of this data was collected on many threads, and is asynchronously
// changing. The data in this instance is not asynchronously changing.
-class BASE_API Snapshot {
+class BASE_EXPORT Snapshot {
public:
// When snapshotting a full life cycle set (birth-to-death), use this:
Snapshot(const BirthOnThread& birth_on_thread, const ThreadData& death_thread,
@@ -285,7 +285,7 @@ class BASE_API Snapshot {
// items. It protects the gathering under locks, so that it could be called via
// Posttask on any threads, or passed to all the target threads in parallel.
-class BASE_API DataCollector {
+class BASE_EXPORT DataCollector {
public:
typedef std::vector<Snapshot> Collection;
@@ -332,7 +332,7 @@ class BASE_API DataCollector {
// Aggregation contains summaries (totals and subtotals) of groups of Snapshot
// instances to provide printing of these collections on a single line.
-class BASE_API Aggregation: public DeathData {
+class BASE_EXPORT Aggregation: public DeathData {
public:
Aggregation();
~Aggregation();
@@ -364,7 +364,7 @@ class BASE_API Aggregation: public DeathData {
// instances within the groups (for detailed rendering of the instances in an
// aggregation).
-class BASE_API Comparator {
+class BASE_EXPORT Comparator {
public:
// Selector enum is the token identifier for each parsed keyword, most of
// which specify a sort order.
@@ -465,7 +465,7 @@ class BASE_API Comparator {
// For each thread, we have a ThreadData that stores all tracking info generated
// on this thread. This prevents the need for locking as data accumulates.
-class BASE_API ThreadData {
+class BASE_EXPORT ThreadData {
public:
typedef std::map<Location, Births*> BirthMap;
typedef std::map<const Births*, DeathData> DeathMap;
@@ -638,7 +638,7 @@ class BASE_API ThreadData {
// only allow the tracking system to be started up at most once, and shutdown
// at most once. See bug 31344 for an example.
-class BASE_API AutoTracking {
+class BASE_EXPORT AutoTracking {
public:
AutoTracking() {
if (state_ != kNeverBeenRun)
diff --git a/base/utf_offset_string_conversions.h b/base/utf_offset_string_conversions.h
index 4c87f83..01177b6 100644
--- a/base/utf_offset_string_conversions.h
+++ b/base/utf_offset_string_conversions.h
@@ -9,7 +9,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
namespace base {
@@ -22,19 +22,19 @@ class StringPiece;
// If this isn't possible because an offset points past the end of the source
// strings or into the middle of a multibyte sequence, the offending offset will
// be set to string16::npos. |offset[s]_for_adjustment| may be NULL.
-BASE_API bool UTF8ToUTF16AndAdjustOffset(const char* src,
- size_t src_len,
- string16* output,
- size_t* offset_for_adjustment);
-BASE_API bool UTF8ToUTF16AndAdjustOffsets(
+BASE_EXPORT bool UTF8ToUTF16AndAdjustOffset(const char* src,
+ size_t src_len,
+ string16* output,
+ size_t* offset_for_adjustment);
+BASE_EXPORT bool UTF8ToUTF16AndAdjustOffsets(
const char* src,
size_t src_len,
string16* output,
std::vector<size_t>* offsets_for_adjustment);
-BASE_API string16 UTF8ToUTF16AndAdjustOffset(const base::StringPiece& utf8,
- size_t* offset_for_adjustment);
-BASE_API string16 UTF8ToUTF16AndAdjustOffsets(
+BASE_EXPORT string16 UTF8ToUTF16AndAdjustOffset(const base::StringPiece& utf8,
+ size_t* offset_for_adjustment);
+BASE_EXPORT string16 UTF8ToUTF16AndAdjustOffsets(
const base::StringPiece& utf8,
std::vector<size_t>* offsets_for_adjustment);
@@ -59,9 +59,9 @@ struct LimitOffset {
// (each Adjustment gives the |original_offset| of a substring and the lengths
// of the substring before and after transforming). When the OffsetAdjuster
// goes out of scope, all the offsets in the provided vector will be updated.
-class BASE_API OffsetAdjuster {
+class BASE_EXPORT OffsetAdjuster {
public:
- struct BASE_API Adjustment {
+ struct BASE_EXPORT Adjustment {
Adjustment(size_t original_offset,
size_t original_length,
size_t output_length);
diff --git a/base/utf_string_conversion_utils.h b/base/utf_string_conversion_utils.h
index d86d8a3..b100112 100644
--- a/base/utf_string_conversion_utils.h
+++ b/base/utf_string_conversion_utils.h
@@ -8,7 +8,7 @@
// This should only be used by the various UTF string conversion files.
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
namespace base {
@@ -38,23 +38,23 @@ inline bool IsValidCharacter(uint32 code_point) {
// (as in a for loop) will take the reader to the next character.
//
// Returns true on success. On false, |*code_point| will be invalid.
-BASE_API bool ReadUnicodeCharacter(const char* src,
- int32 src_len,
- int32* char_index,
- uint32* code_point_out);
+BASE_EXPORT bool ReadUnicodeCharacter(const char* src,
+ int32 src_len,
+ int32* char_index,
+ uint32* code_point_out);
// Reads a UTF-16 character. The usage is the same as the 8-bit version above.
-BASE_API bool ReadUnicodeCharacter(const char16* src,
- int32 src_len,
- int32* char_index,
- uint32* code_point);
+BASE_EXPORT bool ReadUnicodeCharacter(const char16* src,
+ int32 src_len,
+ int32* char_index,
+ uint32* code_point);
#if defined(WCHAR_T_IS_UTF32)
// Reads UTF-32 character. The usage is the same as the 8-bit version above.
-BASE_API bool ReadUnicodeCharacter(const wchar_t* src,
- int32 src_len,
- int32* char_index,
- uint32* code_point);
+BASE_EXPORT bool ReadUnicodeCharacter(const wchar_t* src,
+ int32 src_len,
+ int32* char_index,
+ uint32* code_point);
#endif // defined(WCHAR_T_IS_UTF32)
// WriteUnicodeCharacter -------------------------------------------------------
@@ -62,7 +62,8 @@ BASE_API bool ReadUnicodeCharacter(const wchar_t* src,
// Appends a UTF-8 character to the given 8-bit string. Returns the number of
// bytes written.
// TODO(brettw) Bug 79631: This function should not be exposed.
-BASE_API size_t WriteUnicodeCharacter(uint32 code_point, std::string* output);
+BASE_EXPORT size_t WriteUnicodeCharacter(uint32 code_point,
+ std::string* output);
// Appends the given code point as a UTF-16 character to the given 16-bit
// string. Returns the number of 16-bit values written.
diff --git a/base/utf_string_conversions.h b/base/utf_string_conversions.h
index 9e4af87..cd5a802 100644
--- a/base/utf_string_conversions.h
+++ b/base/utf_string_conversions.h
@@ -8,7 +8,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
#include "base/string_piece.h"
@@ -18,23 +18,25 @@
// do the best it can and put the result in the output buffer. The versions that
// return strings ignore this error and just return the best conversion
// possible.
-BASE_API bool WideToUTF8(const wchar_t* src, size_t src_len,
- std::string* output);
-BASE_API std::string WideToUTF8(const std::wstring& wide);
-BASE_API bool UTF8ToWide(const char* src, size_t src_len, std::wstring* output);
-BASE_API std::wstring UTF8ToWide(const base::StringPiece& utf8);
-
-BASE_API bool WideToUTF16(const wchar_t* src, size_t src_len, string16* output);
-BASE_API string16 WideToUTF16(const std::wstring& wide);
-BASE_API bool UTF16ToWide(const char16* src, size_t src_len,
- std::wstring* output);
-BASE_API std::wstring UTF16ToWide(const string16& utf16);
-
-BASE_API bool UTF8ToUTF16(const char* src, size_t src_len, string16* output);
-BASE_API string16 UTF8ToUTF16(const base::StringPiece& utf8);
-BASE_API bool UTF16ToUTF8(const char16* src, size_t src_len,
- std::string* output);
-BASE_API std::string UTF16ToUTF8(const string16& utf16);
+BASE_EXPORT bool WideToUTF8(const wchar_t* src, size_t src_len,
+ std::string* output);
+BASE_EXPORT std::string WideToUTF8(const std::wstring& wide);
+BASE_EXPORT bool UTF8ToWide(const char* src, size_t src_len,
+ std::wstring* output);
+BASE_EXPORT std::wstring UTF8ToWide(const base::StringPiece& utf8);
+
+BASE_EXPORT bool WideToUTF16(const wchar_t* src, size_t src_len,
+ string16* output);
+BASE_EXPORT string16 WideToUTF16(const std::wstring& wide);
+BASE_EXPORT bool UTF16ToWide(const char16* src, size_t src_len,
+ std::wstring* output);
+BASE_EXPORT std::wstring UTF16ToWide(const string16& utf16);
+
+BASE_EXPORT bool UTF8ToUTF16(const char* src, size_t src_len, string16* output);
+BASE_EXPORT string16 UTF8ToUTF16(const base::StringPiece& utf8);
+BASE_EXPORT bool UTF16ToUTF8(const char16* src, size_t src_len,
+ std::string* output);
+BASE_EXPORT std::string UTF16ToUTF8(const string16& utf16);
// We are trying to get rid of wstring as much as possible, but it's too big
// a mess to do it all at once. These conversions should be used when we
@@ -51,7 +53,7 @@ BASE_API std::string UTF16ToUTF8(const string16& utf16);
// These convert an ASCII string, typically a hardcoded constant, to a
// UTF16/Wide string.
-BASE_API std::wstring ASCIIToWide(const base::StringPiece& ascii);
-BASE_API string16 ASCIIToUTF16(const base::StringPiece& ascii);
+BASE_EXPORT std::wstring ASCIIToWide(const base::StringPiece& ascii);
+BASE_EXPORT string16 ASCIIToUTF16(const base::StringPiece& ascii);
#endif // BASE_UTF_STRING_CONVERSIONS_H_
diff --git a/base/value_conversions.h b/base/value_conversions.h
index 5ed7550c..c65e627 100644
--- a/base/value_conversions.h
+++ b/base/value_conversions.h
@@ -8,7 +8,7 @@
// This file contains methods to convert a |FilePath| to a |Value| and back.
-#include "base/base_api.h"
+#include "base/base_export.h"
class FilePath;
@@ -18,8 +18,8 @@ class StringValue;
class Value;
// The caller takes ownership of the returned value.
-BASE_API StringValue* CreateFilePathValue(const FilePath& in_value);
-BASE_API bool GetValueAsFilePath(const Value& value, FilePath* file_path);
+BASE_EXPORT StringValue* CreateFilePathValue(const FilePath& in_value);
+BASE_EXPORT bool GetValueAsFilePath(const Value& value, FilePath* file_path);
} // namespace
diff --git a/base/values.h b/base/values.h
index 55e7be0..479beef 100644
--- a/base/values.h
+++ b/base/values.h
@@ -27,7 +27,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/string16.h"
#include "build/build_config.h"
@@ -52,7 +52,7 @@ typedef std::map<std::string, Value*> ValueMap;
// The Value class is the base class for Values. A Value can be
// instantiated via the Create*Value() factory methods, or by directly
// creating instances of the subclasses.
-class BASE_API Value {
+class BASE_EXPORT Value {
public:
enum ValueType {
TYPE_NULL = 0,
@@ -131,7 +131,7 @@ class BASE_API Value {
};
// FundamentalValue represents the simple fundamental types of values.
-class BASE_API FundamentalValue : public Value {
+class BASE_EXPORT FundamentalValue : public Value {
public:
explicit FundamentalValue(bool in_value);
explicit FundamentalValue(int in_value);
@@ -155,7 +155,7 @@ class BASE_API FundamentalValue : public Value {
DISALLOW_COPY_AND_ASSIGN(FundamentalValue);
};
-class BASE_API StringValue : public Value {
+class BASE_EXPORT StringValue : public Value {
public:
// Initializes a StringValue with a UTF-8 narrow character string.
explicit StringValue(const std::string& in_value);
@@ -177,7 +177,7 @@ class BASE_API StringValue : public Value {
DISALLOW_COPY_AND_ASSIGN(StringValue);
};
-class BASE_API BinaryValue: public Value {
+class BASE_EXPORT BinaryValue: public Value {
public:
virtual ~BinaryValue();
@@ -214,7 +214,7 @@ class BASE_API BinaryValue: public Value {
// DictionaryValue provides a key-value dictionary with (optional) "path"
// parsing for recursive access; see the comment at the top of the file. Keys
// are |std::string|s and should be UTF-8 encoded.
-class BASE_API DictionaryValue : public Value {
+class BASE_EXPORT DictionaryValue : public Value {
public:
DictionaryValue();
virtual ~DictionaryValue();
@@ -357,7 +357,7 @@ class BASE_API DictionaryValue : public Value {
};
// This type of Value represents a list of other Value values.
-class BASE_API ListValue : public Value {
+class BASE_EXPORT ListValue : public Value {
public:
typedef ValueVector::iterator iterator;
typedef ValueVector::const_iterator const_iterator;
@@ -447,7 +447,7 @@ class BASE_API ListValue : public Value {
// This interface is implemented by classes that know how to serialize and
// deserialize Value objects.
-class BASE_API ValueSerializer {
+class BASE_EXPORT ValueSerializer {
public:
virtual ~ValueSerializer();
diff --git a/base/version.h b/base/version.h
index b61cbb5..2ea4101 100644
--- a/base/version.h
+++ b/base/version.h
@@ -9,13 +9,13 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/gtest_prod_util.h"
// Version represents a dotted version number, like "1.2.3.4", supporting
// parsing and comparison.
-class BASE_API Version {
+class BASE_EXPORT Version {
public:
// The only thing you can legally do to a default constructed
// Version object is assign to it.
diff --git a/base/vlog.h b/base/vlog.h
index 0a55006..fde6ea6 100644
--- a/base/vlog.h
+++ b/base/vlog.h
@@ -10,14 +10,14 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
#include "base/string_piece.h"
namespace logging {
// A helper class containing all the settings for vlogging.
-class BASE_API VlogInfo {
+class BASE_EXPORT VlogInfo {
public:
static const int kDefaultVlogLevel;
@@ -71,8 +71,8 @@ class BASE_API VlogInfo {
// "kh*n" matches "khn", "khan", or even "khaaaaan"
// "/foo\bar" matches "/foo/bar", "\foo\bar", or "/foo\bar"
// (disregarding C escaping rules)
-BASE_API bool MatchVlogPattern(const base::StringPiece& string,
- const base::StringPiece& vlog_pattern);
+BASE_EXPORT bool MatchVlogPattern(const base::StringPiece& string,
+ const base::StringPiece& vlog_pattern);
} // namespace logging
diff --git a/base/win/event_trace_controller.h b/base/win/event_trace_controller.h
index 6cc7e69..8f8d476 100644
--- a/base/win/event_trace_controller.h
+++ b/base/win/event_trace_controller.h
@@ -26,7 +26,7 @@
#include <evntrace.h>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -35,7 +35,7 @@ namespace win {
// Utility class to make it easier to work with EVENT_TRACE_PROPERTIES.
// The EVENT_TRACE_PROPERTIES structure contains information about an
// event tracing session.
-class BASE_API EtwTraceProperties {
+class BASE_EXPORT EtwTraceProperties {
public:
EtwTraceProperties();
@@ -85,7 +85,7 @@ class BASE_API EtwTraceProperties {
// This class implements an ETW controller, which knows how to start and
// stop event tracing sessions, as well as controlling ETW provider
// log levels and enable bit masks under the session.
-class BASE_API EtwTraceController {
+class BASE_EXPORT EtwTraceController {
public:
EtwTraceController();
~EtwTraceController();
diff --git a/base/win/event_trace_provider.h b/base/win/event_trace_provider.h
index 7173025..35f3efe 100644
--- a/base/win/event_trace_provider.h
+++ b/base/win/event_trace_provider.h
@@ -12,7 +12,7 @@
#include <wmistr.h>
#include <evntrace.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -82,7 +82,7 @@ template <size_t N> class EtwMofEvent: public EtwMofEventBase<N> {
// a particular trace level, and whether particular enable flags are set,
// before other resources are consumed to generate and issue the log
// messages themselves.
-class BASE_API EtwTraceProvider {
+class BASE_EXPORT EtwTraceProvider {
public:
// Creates an event trace provider identified by provider_name, which
// will be the name registered with Event Tracing for Windows (ETW).
diff --git a/base/win/i18n.h b/base/win/i18n.h
index 0159fd0..8797bd3 100644
--- a/base/win/i18n.h
+++ b/base/win/i18n.h
@@ -9,7 +9,7 @@
#include <string>
#include <vector>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -19,13 +19,13 @@ namespace i18n {
// Adds to |languages| the list of user preferred UI languages from MUI, if
// available, falling-back on the user default UI language otherwise. Returns
// true if at least one language is added.
-BASE_API bool GetUserPreferredUILanguageList(
+BASE_EXPORT bool GetUserPreferredUILanguageList(
std::vector<std::wstring>* languages);
// Adds to |languages| the list of thread, process, user, and system preferred
// UI languages from MUI, if available, falling-back on the user default UI
// language otherwise. Returns true if at least one language is added.
-BASE_API bool GetThreadPreferredUILanguageList(
+BASE_EXPORT bool GetThreadPreferredUILanguageList(
std::vector<std::wstring>* languages);
} // namespace i18n
diff --git a/base/win/iat_patch_function.h b/base/win/iat_patch_function.h
index 3f9acc7..34d73ba 100644
--- a/base/win/iat_patch_function.h
+++ b/base/win/iat_patch_function.h
@@ -8,7 +8,7 @@
#include <windows.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -21,7 +21,7 @@ namespace win {
// This is the case when, for example, we want to intercept
// CertDuplicateCertificateContext function (exported from crypt32.dll) called
// by wininet.dll.
-class BASE_API IATPatchFunction {
+class BASE_EXPORT IATPatchFunction {
public:
IATPatchFunction();
~IATPatchFunction();
diff --git a/base/win/object_watcher.h b/base/win/object_watcher.h
index 7e2de77..f5a46eb 100644
--- a/base/win/object_watcher.h
+++ b/base/win/object_watcher.h
@@ -8,7 +8,7 @@
#include <windows.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/message_loop.h"
namespace base {
@@ -42,9 +42,9 @@ namespace win {
// scope, the watcher_ will be destroyed, and there is no need to worry about
// OnObjectSignaled being called on a deleted MyClass pointer. Easy!
//
-class BASE_API ObjectWatcher : public MessageLoop::DestructionObserver {
+class BASE_EXPORT ObjectWatcher : public MessageLoop::DestructionObserver {
public:
- class BASE_API Delegate {
+ class BASE_EXPORT Delegate {
public:
virtual ~Delegate() {}
// Called from the MessageLoop when a signaled object is detected. To
diff --git a/base/win/registry.h b/base/win/registry.h
index 86785cfa..078e6e0 100644
--- a/base/win/registry.h
+++ b/base/win/registry.h
@@ -9,7 +9,7 @@
#include <windows.h>
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -22,7 +22,7 @@ namespace win {
// Note:
// ReadValue family of functions guarantee that the return arguments
// are not touched in case of failure.
-class BASE_API RegKey {
+class BASE_EXPORT RegKey {
public:
RegKey();
RegKey(HKEY rootkey, const wchar_t* subkey, REGSAM access);
@@ -99,7 +99,7 @@ class BASE_API RegKey {
// For this application I happen to know I wont need data size larger
// than MAX_PATH, but in real life this wouldn't neccessarily be
// adequate.
-class BASE_API RegistryValueIterator {
+class BASE_EXPORT RegistryValueIterator {
public:
RegistryValueIterator(HKEY root_key, const wchar_t* folder_key);
@@ -139,7 +139,7 @@ class BASE_API RegistryValueIterator {
DISALLOW_COPY_AND_ASSIGN(RegistryValueIterator);
};
-class BASE_API RegistryKeyIterator {
+class BASE_EXPORT RegistryKeyIterator {
public:
RegistryKeyIterator(HKEY root_key, const wchar_t* folder_key);
diff --git a/base/win/scoped_bstr.h b/base/win/scoped_bstr.h
index 61b8969..66d7a06 100644
--- a/base/win/scoped_bstr.h
+++ b/base/win/scoped_bstr.h
@@ -9,7 +9,7 @@
#include <windows.h>
#include <oleauto.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/logging.h"
#include "base/string16.h"
@@ -18,7 +18,7 @@ namespace win {
// Manages a BSTR string pointer.
// The class interface is based on scoped_ptr.
-class BASE_API ScopedBstr {
+class BASE_EXPORT ScopedBstr {
public:
ScopedBstr() : bstr_(NULL) {
}
diff --git a/base/win/scoped_variant.h b/base/win/scoped_variant.h
index 16a52ec..5b05d07 100644
--- a/base/win/scoped_variant.h
+++ b/base/win/scoped_variant.h
@@ -9,7 +9,7 @@
#include <windows.h>
#include <oleauto.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/basictypes.h"
namespace base {
@@ -21,7 +21,7 @@ namespace win {
// Instead of inheriting from VARIANT, we take the containment approach
// in order to have more control over the usage of the variant and guard
// against memory leaks.
-class BASE_API ScopedVariant {
+class BASE_EXPORT ScopedVariant {
public:
// Declaration of a global variant variable that's always VT_EMPTY
static const VARIANT kEmptyVariant;
diff --git a/base/win/win_util.h b/base/win/win_util.h
index 847c434..136a1ff 100644
--- a/base/win/win_util.h
+++ b/base/win/win_util.h
@@ -27,7 +27,7 @@
#include <string>
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/string16.h"
struct IPropertyStore;
@@ -37,19 +37,19 @@ typedef _tagpropertykey PROPERTYKEY;
namespace base {
namespace win {
-BASE_API void GetNonClientMetrics(NONCLIENTMETRICS* metrics);
+BASE_EXPORT void GetNonClientMetrics(NONCLIENTMETRICS* metrics);
// Returns the string representing the current user sid.
-BASE_API bool GetUserSidString(std::wstring* user_sid);
+BASE_EXPORT bool GetUserSidString(std::wstring* user_sid);
// Returns true if the shift key is currently pressed.
-BASE_API bool IsShiftPressed();
+BASE_EXPORT bool IsShiftPressed();
// Returns true if the ctrl key is currently pressed.
-BASE_API bool IsCtrlPressed();
+BASE_EXPORT bool IsCtrlPressed();
// Returns true if the alt key is currently pressed.
-BASE_API bool IsAltPressed();
+BASE_EXPORT bool IsAltPressed();
// Returns false if user account control (UAC) has been disabled with the
// EnableLUA registry flag. Returns true if user account control is enabled.
@@ -57,27 +57,28 @@ BASE_API bool IsAltPressed();
// machines, might still exist and be set to 0 (UAC disabled), in which case
// this function will return false. You should therefore check this flag only
// if the OS is Vista or later.
-BASE_API bool UserAccountControlIsEnabled();
+BASE_EXPORT bool UserAccountControlIsEnabled();
// Sets the application id in given IPropertyStore. The function is intended
// for tagging application/chromium shortcut, browser window and jump list for
// Win7.
-BASE_API bool SetAppIdForPropertyStore(IPropertyStore* property_store,
- const wchar_t* app_id);
+BASE_EXPORT bool SetAppIdForPropertyStore(IPropertyStore* property_store,
+ const wchar_t* app_id);
// Adds the specified |command| using the specified |name| to the AutoRun key.
// |root_key| could be HKCU or HKLM or the root of any user hive.
-BASE_API bool AddCommandToAutoRun(HKEY root_key, const string16& name,
- const string16& command);
+BASE_EXPORT bool AddCommandToAutoRun(HKEY root_key, const string16& name,
+ const string16& command);
// Removes the command specified by |name| from the AutoRun key. |root_key|
// could be HKCU or HKLM or the root of any user hive.
-BASE_API bool RemoveCommandFromAutoRun(HKEY root_key, const string16& name);
+BASE_EXPORT bool RemoveCommandFromAutoRun(HKEY root_key, const string16& name);
// Reads the command specified by |name| from the AutoRun key. |root_key|
// could be HKCU or HKLM or the root of any user hive. Used for unit-tests.
-BASE_API bool ReadCommandFromAutoRun(HKEY root_key,
- const string16& name,
- string16* command);
+BASE_EXPORT bool ReadCommandFromAutoRun(HKEY root_key,
+ const string16& name,
+ string16* command);
+
} // namespace win
} // namespace base
diff --git a/base/win/windows_version.h b/base/win/windows_version.h
index 96f3792..296e0da 100644
--- a/base/win/windows_version.h
+++ b/base/win/windows_version.h
@@ -6,7 +6,7 @@
#define BASE_WIN_WINDOWS_VERSION_H_
#pragma once
-#include "base/base_api.h"
+#include "base/base_export.h"
#include "base/memory/singleton.h"
typedef void* HANDLE;
@@ -29,7 +29,7 @@ enum Version {
// A Singleton that can be used to query various pieces of information about the
// OS and process state.
-class BASE_API OSInfo {
+class BASE_EXPORT OSInfo {
public:
struct VersionNumber {
int major;
@@ -98,7 +98,7 @@ class BASE_API OSInfo {
// Because this is by far the most commonly-requested value from the above
// singleton, we add a global-scope accessor here as syntactic sugar.
-BASE_API Version GetVersion();
+BASE_EXPORT Version GetVersion();
} // namespace win
} // namespace base
diff --git a/base/win/wrapped_window_proc.h b/base/win/wrapped_window_proc.h
index eac150e..c9916504 100644
--- a/base/win/wrapped_window_proc.h
+++ b/base/win/wrapped_window_proc.h
@@ -13,7 +13,7 @@
#include <windows.h>
-#include "base/base_api.h"
+#include "base/base_export.h"
namespace base {
namespace win {
@@ -28,11 +28,11 @@ typedef int (__cdecl *WinProcExceptionFilter)(EXCEPTION_POINTERS* info);
// Sets the filter to deal with exceptions inside a WindowProc. Returns the old
// exception filter, if any.
// This function should be called before any window is created.
-BASE_API WinProcExceptionFilter SetWinProcExceptionFilter(
+BASE_EXPORT WinProcExceptionFilter SetWinProcExceptionFilter(
WinProcExceptionFilter filter);
// Calls the registered exception filter.
-BASE_API int CallExceptionFilter(EXCEPTION_POINTERS* info);
+BASE_EXPORT int CallExceptionFilter(EXCEPTION_POINTERS* info);
// Wrapper that supplies a standard exception frame for the provided WindowProc.
// The normal usage is something like this: