From 3481afa6a091bb71ec23e111d24b6f798df4b6db Mon Sep 17 00:00:00 2001 From: Philippe Liard Date: Tue, 5 Jul 2011 07:33:31 +0000 Subject: [PATCH] CPP: Exclude the logging-related code when the library is built in Chromium. --- cpp/src/phonenumbers/default_logger.cc | 5 +++++ cpp/src/phonenumbers/default_logger.h | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/cpp/src/phonenumbers/default_logger.cc b/cpp/src/phonenumbers/default_logger.cc index 538c1b30d..766e215a8 100644 --- a/cpp/src/phonenumbers/default_logger.cc +++ b/cpp/src/phonenumbers/default_logger.cc @@ -14,6 +14,9 @@ // Author: Philippe Liard +// This file should not be compiled when using Google base/. +#ifndef USE_GOOGLE_BASE + #include #include "phonenumbers/default_logger.h" @@ -47,3 +50,5 @@ void StdoutLogger::WriteLevel() { } // namespace phonenumbers } // namespace i18n + +#endif // USE_GOOGLE_BASE diff --git a/cpp/src/phonenumbers/default_logger.h b/cpp/src/phonenumbers/default_logger.h index 53ec9cd7a..28212ff7f 100644 --- a/cpp/src/phonenumbers/default_logger.h +++ b/cpp/src/phonenumbers/default_logger.h @@ -17,6 +17,28 @@ #ifndef I18N_PHONENUMBERS_DEFAULT_LOGGER_H_ #define I18N_PHONENUMBERS_DEFAULT_LOGGER_H_ +#ifdef USE_GOOGLE_BASE + +namespace i18n { +namespace phonenumbers { + +// If Google base/ is used, LOG() and VLOG() from base/logging.h are used +// therefore the default logger implementation (StdoutLogger) instantiated in +// phonenumberutil will actually never be used. Thus provide a dummy +// implementation of this logger. +class StdoutLogger : public Logger { + public: + virtual ~StdoutLogger() {} + + virtual void WriteLevel() {} + virtual void WriteMessage(const string& /* msg */) {} +}; + +} // namespace phonenumbers +} // namespace i18n + +#else + #include #include "phonenumbers/logger.h" @@ -103,4 +125,5 @@ class StdoutLogger : public Logger { } // namespace phonenumbers } // namespace i18n +#endif // USE_GOOGLE_BASE #endif // I18N_PHONENUMBERS_DEFAULT_LOGGER_H_