| OLD | NEW | 
|   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 THIRD_PARTY_MOJO_SRC_MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ |   5 #ifndef MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ | 
|   6 #define THIRD_PARTY_MOJO_SRC_MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ |   6 #define MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ | 
|   7  |   7  | 
|   8 #include "base/move.h" |   8 #include "base/move.h" | 
 |   9 #include "mojo/edk/embedder/platform_handle.h" | 
 |  10 #include "mojo/edk/system/system_impl_export.h" | 
|   9 #include "mojo/public/c/system/macros.h" |  11 #include "mojo/public/c/system/macros.h" | 
|  10 #include "third_party/mojo/src/mojo/edk/embedder/platform_handle.h" |  | 
|  11 #include "third_party/mojo/src/mojo/edk/system/system_impl_export.h" |  | 
|  12  |  12  | 
|  13 namespace mojo { |  13 namespace mojo { | 
|  14 namespace embedder { |  14 namespace edk { | 
|  15  |  15  | 
|  16 class MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle { |  16 class MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle { | 
|  17   MOVE_ONLY_TYPE_WITH_MOVE_CONSTRUCTOR_FOR_CPP_03(ScopedPlatformHandle) |  17   MOVE_ONLY_TYPE_WITH_MOVE_CONSTRUCTOR_FOR_CPP_03(ScopedPlatformHandle) | 
|  18  |  18  | 
|  19  public: |  19  public: | 
|  20   ScopedPlatformHandle() {} |  20   ScopedPlatformHandle() {} | 
|  21   explicit ScopedPlatformHandle(PlatformHandle handle) : handle_(handle) {} |  21   explicit ScopedPlatformHandle(PlatformHandle handle) : handle_(handle) {} | 
|  22   ~ScopedPlatformHandle() { handle_.CloseIfNecessary(); } |  22   ~ScopedPlatformHandle() { handle_.CloseIfNecessary(); } | 
|  23  |  23  | 
|  24   // Move-only constructor and operator=. |  24   // Move-only constructor and operator=. | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
|  49     handle_.CloseIfNecessary(); |  49     handle_.CloseIfNecessary(); | 
|  50     handle_ = handle; |  50     handle_ = handle; | 
|  51   } |  51   } | 
|  52  |  52  | 
|  53   bool is_valid() const { return handle_.is_valid(); } |  53   bool is_valid() const { return handle_.is_valid(); } | 
|  54  |  54  | 
|  55  private: |  55  private: | 
|  56   PlatformHandle handle_; |  56   PlatformHandle handle_; | 
|  57 }; |  57 }; | 
|  58  |  58  | 
|  59 }  // namespace embedder |  59 }  // namespace edk | 
|  60 }  // namespace mojo |  60 }  // namespace mojo | 
|  61  |  61  | 
|  62 #endif  // THIRD_PARTY_MOJO_SRC_MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ |  62 #endif  // MOJO_EDK_EMBEDDER_SCOPED_PLATFORM_HANDLE_H_ | 
| OLD | NEW |