summaryrefslogtreecommitdiffstats
path: root/mojo/service_manager/service_loader.h
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 22:35:51 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 22:35:51 +0000
commit5e1a832c8186ef29546b6b60f90d7974ca72d3c9 (patch)
tree41b3fd3eaf316e7353a566c2b8923566788dd446 /mojo/service_manager/service_loader.h
parent92028f1406eeb252247b55b8db63b1b8cdf69945 (diff)
downloadchromium_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/service_manager/service_loader.h')
-rw-r--r--mojo/service_manager/service_loader.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/mojo/service_manager/service_loader.h b/mojo/service_manager/service_loader.h
index 7567ad3..4053957 100644
--- a/mojo/service_manager/service_loader.h
+++ b/mojo/service_manager/service_loader.h
@@ -20,7 +20,7 @@ class MOJO_SERVICE_MANAGER_EXPORT ServiceLoader {
virtual ~ServiceLoader() {}
virtual void LoadService(ServiceManager* manager,
const GURL& url,
- ScopedShellHandle service_handle) = 0;
+ ScopedMessagePipeHandle service_handle) = 0;
virtual void OnServiceError(ServiceManager* manager, const GURL& url) = 0;
protected: