| Index: mojo/public/cpp/environment/environment.h
|
| diff --git a/mojo/public/cpp/environment/environment.h b/mojo/public/cpp/environment/environment.h
|
| index 3cc179a8959f4737f42fed7fd3f99592dc5f35a8..48f4c26eb724cf824e34ab89af3b351ceda590ad 100644
|
| --- a/mojo/public/cpp/environment/environment.h
|
| +++ b/mojo/public/cpp/environment/environment.h
|
| @@ -5,19 +5,32 @@
|
| #ifndef MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_
|
| #define MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_
|
|
|
| -#include "mojo/public/c/environment/logger.h"
|
| #include "mojo/public/cpp/system/macros.h"
|
|
|
| +struct MojoAsyncWaiter;
|
| +struct MojoLogger;
|
| +
|
| namespace mojo {
|
|
|
| -// This class must be instantiated before using any Mojo C++ APIs.
|
| +// Other parts of the Mojo C++ APIs use the *static* methods of this class.
|
| +//
|
| +// The "standalone" implementation of this class requires that this class (in
|
| +// the lib/ subdirectory) be instantiated (and remain so) while using the Mojo
|
| +// C++ APIs. I.e., the static methods depend on things set up by the constructor
|
| +// and torn down by the destructor.
|
| +//
|
| +// Other implementations may not have this requirement.
|
| class Environment {
|
| public:
|
| Environment();
|
| + // This constructor allows the standard implementations to be overridden (set
|
| + // a parameter to null to get the standard implementation).
|
| + Environment(const MojoAsyncWaiter* default_async_waiter,
|
| + const MojoLogger* default_logger);
|
| ~Environment();
|
|
|
| - // Note: Not thread-safe; the default logger must not be used concurrently.
|
| - static void SetMinimumLogLevel(MojoLogLevel minimum_log_level);
|
| + static const MojoAsyncWaiter* GetDefaultAsyncWaiter();
|
| + static const MojoLogger* GetDefaultLogger();
|
|
|
| private:
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(Environment);
|
|
|