| Index: mojo/public/cpp/environment/lib/environment.cc
|
| diff --git a/mojo/public/cpp/environment/lib/environment.cc b/mojo/public/cpp/environment/lib/environment.cc
|
| index 08428a9049098f0b79cef962a1777d9439e12df3..58e270e9ae474075c5833746622e8fea0dccbd7d 100644
|
| --- a/mojo/public/cpp/environment/lib/environment.cc
|
| +++ b/mojo/public/cpp/environment/lib/environment.cc
|
| @@ -4,23 +4,57 @@
|
|
|
| #include "mojo/public/cpp/environment/environment.h"
|
|
|
| -#include "mojo/public/cpp/environment/lib/default_logger_internal.h"
|
| +#include <stddef.h>
|
| +
|
| +#include "mojo/public/c/environment/logger.h"
|
| +#include "mojo/public/cpp/environment/lib/default_async_waiter.h"
|
| +#include "mojo/public/cpp/environment/lib/default_logger.h"
|
| #include "mojo/public/cpp/utility/run_loop.h"
|
|
|
| namespace mojo {
|
|
|
| -Environment::Environment() {
|
| - SetMinimumLogLevel(MOJO_LOG_LEVEL_INFO);
|
| +namespace {
|
| +
|
| +const MojoAsyncWaiter* g_default_async_waiter = NULL;
|
| +const MojoLogger* g_default_logger = NULL;
|
| +
|
| +void Init(const MojoAsyncWaiter* default_async_waiter,
|
| + const MojoLogger* default_logger) {
|
| + g_default_async_waiter =
|
| + default_async_waiter ? default_async_waiter :
|
| + &internal::kDefaultAsyncWaiter;
|
| + g_default_logger = default_logger ? default_logger :
|
| + &internal::kDefaultLogger;
|
| +
|
| RunLoop::SetUp();
|
| }
|
|
|
| +} // namespace
|
| +
|
| +Environment::Environment() {
|
| + Init(NULL, NULL);
|
| +}
|
| +
|
| +Environment::Environment(const MojoAsyncWaiter* default_async_waiter,
|
| + const MojoLogger* default_logger) {
|
| + Init(default_async_waiter, default_logger);
|
| +}
|
| +
|
| Environment::~Environment() {
|
| RunLoop::TearDown();
|
| +
|
| + // TODO(vtl): Maybe we should allow nesting, and restore previous default
|
| + // async waiters and loggers?
|
| +}
|
| +
|
| +// static
|
| +const MojoAsyncWaiter* Environment::GetDefaultAsyncWaiter() {
|
| + return g_default_async_waiter;
|
| }
|
|
|
| // static
|
| -void Environment::SetMinimumLogLevel(MojoLogLevel minimum_log_level) {
|
| - internal::SetMinimumLogLevel(minimum_log_level);
|
| +const MojoLogger* Environment::GetDefaultLogger() {
|
| + return g_default_logger;
|
| }
|
|
|
| } // namespace mojo
|
|
|