Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1425)

Unified Diff: mojo/public/cpp/bindings/lib/interface_impl_internal.h

Issue 280003003: Add SetClient method implementation to InterfaceImpl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/cpp/bindings/interface_impl.h ('k') | mojo/public/cpp/bindings/lib/interface_ptr_internal.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/cpp/bindings/lib/interface_impl_internal.h
diff --git a/mojo/public/cpp/bindings/lib/interface_impl_internal.h b/mojo/public/cpp/bindings/lib/interface_impl_internal.h
index 50fe5665360b3f6bd11950503b52311d16592eaa..8c098ccbf9860d6c802435b0d0e5297c666b5128 100644
--- a/mojo/public/cpp/bindings/lib/interface_impl_internal.h
+++ b/mojo/public/cpp/bindings/lib/interface_impl_internal.h
@@ -15,8 +15,11 @@ namespace internal {
template <typename Interface>
class InterfaceImplState : public ErrorHandler {
public:
+ typedef typename Interface::Client Client;
+
explicit InterfaceImplState(WithErrorHandler<Interface>* instance)
: router_(NULL),
+ client_(NULL),
proxy_(NULL) {
assert(instance);
stub_.set_sink(instance);
@@ -46,13 +49,16 @@ class InterfaceImplState : public ErrorHandler {
router_->set_incoming_receiver(&stub_);
router_->set_error_handler(this);
- proxy_ = new typename Interface::Client_::Proxy_(router_);
+ proxy_ = new typename Client::Proxy_(router_);
stub_.sink()->SetClient(proxy_);
}
Router* router() { return router_; }
+ void set_client(Client* client) { client_ = client; }
+ Client* client() { return client_; }
+
private:
virtual void OnConnectionError() MOJO_OVERRIDE {
static_cast<WithErrorHandler<Interface>*>(stub_.sink())->
@@ -60,7 +66,8 @@ class InterfaceImplState : public ErrorHandler {
}
internal::Router* router_;
- typename Interface::Client_::Proxy_* proxy_;
+ Client* client_;
+ typename Client::Proxy_* proxy_;
typename Interface::Stub_ stub_;
MOJO_DISALLOW_COPY_AND_ASSIGN(InterfaceImplState);
« no previous file with comments | « mojo/public/cpp/bindings/interface_impl.h ('k') | mojo/public/cpp/bindings/lib/interface_ptr_internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698