| Index: mojo/public/cpp/bindings/interface_handle.h
|
| diff --git a/mojo/public/cpp/bindings/interface_handle.h b/mojo/public/cpp/bindings/interface_handle.h
|
| deleted file mode 100644
|
| index fce834858e4c085eaca022726218685700ea9022..0000000000000000000000000000000000000000
|
| --- a/mojo/public/cpp/bindings/interface_handle.h
|
| +++ /dev/null
|
| @@ -1,85 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_INFO_H_
|
| -#define MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_INFO_H_
|
| -
|
| -#include <cstddef>
|
| -
|
| -#include "mojo/public/cpp/system/macros.h"
|
| -#include "mojo/public/cpp/system/message_pipe.h"
|
| -
|
| -namespace mojo {
|
| -
|
| -template <typename Interface>
|
| -class InterfacePtr;
|
| -
|
| -template <typename Interface>
|
| -class SynchronousInterfacePtr;
|
| -
|
| -// InterfaceHandle stores necessary information to communicate with a remote
|
| -// interface implementation, which could be used to construct an InterfacePtr.
|
| -template <typename Interface>
|
| -class InterfaceHandle {
|
| - public:
|
| - InterfaceHandle() : version_(0u) {}
|
| - InterfaceHandle(std::nullptr_t) : version_(0u) {}
|
| -
|
| - InterfaceHandle(ScopedMessagePipeHandle handle, uint32_t version)
|
| - : handle_(handle.Pass()), version_(version) {}
|
| -
|
| - InterfaceHandle(InterfaceHandle&& other)
|
| - : handle_(other.handle_.Pass()), version_(other.version_) {
|
| - other.version_ = 0u;
|
| - }
|
| -
|
| - // Making this constructor templated ensures that it is not type-instantiated
|
| - // unless it is used, making the InterfacePtr<->InterfaceHandle codependency
|
| - // less fragile.
|
| - template <typename SameInterfaceAsAbove = Interface>
|
| - InterfaceHandle(InterfacePtr<SameInterfaceAsAbove>&& ptr) {
|
| - *this = ptr.PassInterfaceHandle();
|
| - }
|
| -
|
| - // Making this constructor templated ensures that it is not type-instantiated
|
| - // unless it is used, making the SynchronousInterfacePtr<->InterfaceHandle
|
| - // codependency less fragile.
|
| - template <typename SameInterfaceAsAbove = Interface>
|
| - InterfaceHandle(SynchronousInterfacePtr<SameInterfaceAsAbove>&& ptr) {
|
| - *this = ptr.PassInterfaceHandle();
|
| - }
|
| -
|
| - ~InterfaceHandle() {}
|
| -
|
| - InterfaceHandle& operator=(InterfaceHandle&& other) {
|
| - if (this != &other) {
|
| - handle_ = other.handle_.Pass();
|
| - version_ = other.version_;
|
| - other.version_ = 0u;
|
| - }
|
| -
|
| - return *this;
|
| - }
|
| -
|
| - // Tests as true if we have a valid handle.
|
| - explicit operator bool() const { return is_valid(); }
|
| - bool is_valid() const { return handle_.is_valid(); }
|
| -
|
| - ScopedMessagePipeHandle PassHandle() { return handle_.Pass(); }
|
| - const ScopedMessagePipeHandle& handle() const { return handle_; }
|
| - void set_handle(ScopedMessagePipeHandle handle) { handle_ = handle.Pass(); }
|
| -
|
| - uint32_t version() const { return version_; }
|
| - void set_version(uint32_t version) { version_ = version; }
|
| -
|
| - private:
|
| - ScopedMessagePipeHandle handle_;
|
| - uint32_t version_;
|
| -
|
| - MOJO_MOVE_ONLY_TYPE(InterfaceHandle);
|
| -};
|
| -
|
| -} // namespace mojo
|
| -
|
| -#endif // MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_PTR_INFO_H_
|
|
|