| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/423613002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286725 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds an InterfaceFactory<Interface> type and allows registering a
service through its provider. Using an InterfaceFactory allows the app
to be in control of the lifetime of the implementation of the interface
and hides all of the implementation details of the interface from the
application library code (i.e. no subclassing impl classes or anything
like that). The default binding behavior is to bind the lifetime of
the impl to the lifetime of the pipe, but the application
can also weakly bind to a service in cases where it needs to manage
the lifetime explicitly.
Review URL: https://codereview.chromium.org/380413003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285139 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
R=darin@chromium.org, qsr@chromium.org
Review URL: https://codereview.chromium.org/347333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279830 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
mojo_common can not depends on embedder, as standalone application must
depends on it. channel_init is in fact a part of the embedder.
R=viettrungluu@chromium.org
TBR=darin@chromium.org
Review URL: https://codereview.chromium.org/346633002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278357 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Try #2 of https://codereview.chromium.org/298653010/
Fixed newly introduced GN dependency.
TBR=darin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298003008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272989 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Change Shell / ShellClient to ServiceProvider
>
> BUG=
> R=darin@chromium.org
>
> Review URL: https://codereview.chromium.org/298653010
TBR=davemoore@chromium.org
Review URL: https://codereview.chromium.org/304593002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272984 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
R=darin@chromium.org
Review URL: https://codereview.chromium.org/298653010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272983 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Authored by davemoore@chromium.org, see https://codereview.chromium.org/275363002/
R=darin@chromium.org
TBR=davemoore@chromium.org
Review URL: https://codereview.chromium.org/287143003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270945 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suspected to cause compile failure on Win Builder:
http://build.chromium.org/p/chromium.win/builders/Win%20Builder/builds/20401
> Mojo: Internalize ServiceConnector<>
>
> Authored by davemoore@chromium.org, see https://codereview.chromium.org/275363002/
>
> R=viettrungluu@chromium.org, darin@chromium.org
>
> Review URL: https://codereview.chromium.org/284113009
TBR=darin@chromium.org
Review URL: https://codereview.chromium.org/287003004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270873 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Authored by davemoore@chromium.org, see https://codereview.chromium.org/275363002/
R=viettrungluu@chromium.org, darin@chromium.org
Review URL: https://codereview.chromium.org/284113009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270867 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
Most of the code to bootstrap a Mojo service over DBus is
moved into a templated class under mojo/dbus. Simply implement your Mojo service
and then specialize DBusExternalService with your service implementation.
TBR=darin@chromium.org
BUG=chromium:367816
TEST=run mojo_dbus_echo_service in one shell, and then ./out/Debug/mojo_shell --origin=http://127.0.0.1:4444 --disable-cache mojo:mojo_dbus_echo in the other.
Review URL: https://codereview.chromium.org/245253004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267662 0039d316-1c4b-4281-b951-d872f2087c98
|