Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1838)

Side by Side Diff: mojo/public/cpp/environment/environment.h

Issue 339403003: Mojo: Make GetDefault{AsyncWaiter,Logger} static methods of Environment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_ 5 #ifndef MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_
6 #define MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_ 6 #define MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_
7 7
8 #include "mojo/public/c/environment/logger.h"
9 #include "mojo/public/cpp/system/macros.h" 8 #include "mojo/public/cpp/system/macros.h"
10 9
10 struct MojoAsyncWaiter;
11 struct MojoLogger;
12
11 namespace mojo { 13 namespace mojo {
12 14
13 // This class must be instantiated before using any Mojo C++ APIs. 15 // Other parts of the Mojo C++ APIs use the *static* methods of this class.
16 //
17 // The "standalone" implementation of this class requires that this class (in
18 // the lib/ subdirectory) be instantiated (and remain so) while using the Mojo
19 // C++ APIs. I.e., the static methods depend on things set up by the constructor
20 // and torn down by the destructor.
21 //
22 // Other implementations may not have this requirement.
14 class Environment { 23 class Environment {
15 public: 24 public:
16 Environment(); 25 Environment();
26 // This constructor allows the standard implementations to be overridden (set
27 // a parameter to null to get the standard implementation).
28 Environment(const MojoAsyncWaiter* default_async_waiter,
29 const MojoLogger* default_logger);
17 ~Environment(); 30 ~Environment();
18 31
19 // Note: Not thread-safe; the default logger must not be used concurrently. 32 static const MojoAsyncWaiter* GetDefaultAsyncWaiter();
20 static void SetMinimumLogLevel(MojoLogLevel minimum_log_level); 33 static const MojoLogger* GetDefaultLogger();
21 34
22 private: 35 private:
23 MOJO_DISALLOW_COPY_AND_ASSIGN(Environment); 36 MOJO_DISALLOW_COPY_AND_ASSIGN(Environment);
24 }; 37 };
25 38
26 } // namespace mojo 39 } // namespace mojo
27 40
28 #endif // MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_ 41 #endif // MOJO_PUBLIC_CPP_ENVIRONMENT_ENVIRONMENT_H_
OLDNEW
« no previous file with comments | « mojo/public/cpp/environment/default_logger.h ('k') | mojo/public/cpp/environment/lib/default_async_waiter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698