diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-09 22:35:51 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-09 22:35:51 +0000 |
commit | 5e1a832c8186ef29546b6b60f90d7974ca72d3c9 (patch) | |
tree | 41b3fd3eaf316e7353a566c2b8923566788dd446 /mojo/services/dbus_echo/echo.mojom | |
parent | 92028f1406eeb252247b55b8db63b1b8cdf69945 (diff) | |
download | chromium_src-5e1a832c8186ef29546b6b60f90d7974ca72d3c9.zip chromium_src-5e1a832c8186ef29546b6b60f90d7974ca72d3c9.tar.gz chromium_src-5e1a832c8186ef29546b6b60f90d7974ca72d3c9.tar.bz2 |
Mojo: Replace RemotePtr with InterfacePtr and InterfaceImpl
Interfaces no longer have explicit Peer attributes. An interface may now optionally have a Client interface, in which case a SetClient method will be auto-generated.
InterfacePtr is a proxy to a remote instance of an interface. InterfaceImpl is a base class used when implementing an interface. Both have facilities for binding to a pipe, etc. An InterfacePtr is movable but not copyable and looks a lot like RemotePtr save for how it gets initialized (via the Bind method now).
I've added some new top-level functions:
MakeProxy - makes it easy to initialize an InterfacePtr in say a member initializer list.
BindToPipe - this is how you bind an InterfaceImpl to a pipe. once bound, they cannot be unbound until the object is destroyed or the pipe is closed.
BindToProxy - builds on top of BindToPipe, however, it hides the details of the pipe. What you get back is an InterfacePtr.
Generated C++ code now passes InterfacePtr instead of InterfaceHandle. As a result, we have far less need for typed subclasses of MessagePipeHandle, so I eliminated them. The code that needs to deal with raw handles generally has to deal with {Scoped}MessagePipeHandle, and adding strong typing to these handles doesn't seem helpful anymore.
R=davemoore@chromium.org
Review URL: https://codereview.chromium.org/265793015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269443 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/services/dbus_echo/echo.mojom')
-rw-r--r-- | mojo/services/dbus_echo/echo.mojom | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/mojo/services/dbus_echo/echo.mojom b/mojo/services/dbus_echo/echo.mojom index c2ad42a..937737c 100644 --- a/mojo/services/dbus_echo/echo.mojom +++ b/mojo/services/dbus_echo/echo.mojom @@ -4,13 +4,8 @@ module mojo { -[Peer=EchoClient] interface EchoService { Echo(string to_echo) => (string echoed); }; -[Peer=EchoService] -interface EchoClient { -}; - } |