| Index: mojo/public/bindings/interface.h
|
| diff --git a/mojo/public/bindings/interface.h b/mojo/public/bindings/interface.h
|
| deleted file mode 100644
|
| index ff3f2970aa3e463af63567b61b6228cb68b9ba64..0000000000000000000000000000000000000000
|
| --- a/mojo/public/bindings/interface.h
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -// Copyright 2014 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_BINDINGS_INTERFACE_H_
|
| -#define MOJO_PUBLIC_BINDINGS_INTERFACE_H_
|
| -
|
| -#include <assert.h>
|
| -
|
| -#include "mojo/public/bindings/message.h"
|
| -#include "mojo/public/cpp/system/core.h"
|
| -
|
| -namespace mojo {
|
| -
|
| -
|
| -// NoInterface is for use in cases when a non-existent or empty interface is
|
| -// needed (e.g., when the Mojom "Peer" attribute is not present).
|
| -
|
| -class NoInterface;
|
| -
|
| -class NoInterfaceStub : public MessageReceiver {
|
| - public:
|
| - NoInterfaceStub(NoInterface* unused) {}
|
| - virtual bool Accept(Message* message) MOJO_OVERRIDE;
|
| - virtual bool AcceptWithResponder(Message* message, MessageReceiver* responder)
|
| - MOJO_OVERRIDE;
|
| -};
|
| -
|
| -class NoInterface {
|
| - public:
|
| - typedef NoInterfaceStub _Stub;
|
| - typedef NoInterface _Peer;
|
| -};
|
| -
|
| -
|
| -// AnyInterface is for use in cases where any interface would do (e.g., see the
|
| -// Shell::Connect method).
|
| -
|
| -typedef NoInterface AnyInterface;
|
| -
|
| -
|
| -// InterfaceHandle<S>
|
| -
|
| -template <typename S>
|
| -class InterfaceHandle : public MessagePipeHandle {
|
| - public:
|
| - InterfaceHandle() {}
|
| - explicit InterfaceHandle(MojoHandle value) : MessagePipeHandle(value) {}
|
| -};
|
| -
|
| -
|
| -// Interface<S>
|
| -
|
| -template <typename S>
|
| -struct Interface {
|
| - typedef InterfaceHandle<S> Handle;
|
| - typedef ScopedHandleBase<InterfaceHandle<S> > ScopedHandle;
|
| -};
|
| -
|
| -template <>
|
| -struct Interface<mojo::NoInterface> {
|
| - typedef MessagePipeHandle Handle;
|
| - typedef ScopedMessagePipeHandle ScopedHandle;
|
| -};
|
| -
|
| -
|
| -// InterfacePipe<S,P> is used to construct a MessagePipe with typed interfaces
|
| -// on either end.
|
| -
|
| -template <typename S, typename P = typename S::_Peer>
|
| -class InterfacePipe {
|
| - public:
|
| - InterfacePipe() {
|
| - typename Interface<S>::Handle h0;
|
| - typename Interface<P>::Handle h1;
|
| - MojoResult result MOJO_ALLOW_UNUSED =
|
| - MojoCreateMessagePipe(h0.mutable_value(), h1.mutable_value());
|
| - assert(result == MOJO_RESULT_OK);
|
| - handle_to_self.reset(h0);
|
| - handle_to_peer.reset(h1);
|
| - }
|
| -
|
| - typename Interface<S>::ScopedHandle handle_to_self;
|
| - typename Interface<P>::ScopedHandle handle_to_peer;
|
| -};
|
| -
|
| -// TODO(darin): Once we have the ability to use C++11 features, consider
|
| -// defining a template alias for ScopedInterfaceHandle<S>.
|
| -
|
| -} // namespace mojo
|
| -
|
| -#endif // MOJO_PUBLIC_BINDINGS_SCOPED_INTERFACE_H_
|
|
|