Commit 6cc92463 authored by yzshen@chromium.org's avatar yzshen@chromium.org

Move AcceptWithResponder() out of the MessageReceiver interface.

BUG=None
TEST=None

Review URL: https://codereview.chromium.org/299833008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272831 0039d316-1c4b-4281-b951-d872f2087c98
parent a24efc25
...@@ -86,13 +86,6 @@ bool Connector::Accept(Message* message) { ...@@ -86,13 +86,6 @@ bool Connector::Accept(Message* message) {
return true; return true;
} }
bool Connector::AcceptWithResponder(Message* message,
MessageReceiver* responder) {
// TODO(darin): Implement this!
assert(false);
return false;
}
// static // static
void Connector::CallOnHandleReady(void* closure, MojoResult result) { void Connector::CallOnHandleReady(void* closure, MojoResult result) {
Connector* self = static_cast<Connector*>(closure); Connector* self = static_cast<Connector*>(closure);
......
...@@ -63,8 +63,6 @@ class Connector : public MessageReceiver { ...@@ -63,8 +63,6 @@ class Connector : public MessageReceiver {
// MessageReceiver implementation: // MessageReceiver implementation:
virtual bool Accept(Message* message) MOJO_OVERRIDE; virtual bool Accept(Message* message) MOJO_OVERRIDE;
virtual bool AcceptWithResponder(Message* message, MessageReceiver* responder)
MOJO_OVERRIDE;
private: private:
static void CallOnHandleReady(void* closure, MojoResult result); static void CallOnHandleReady(void* closure, MojoResult result);
......
...@@ -62,7 +62,7 @@ class InterfacePtrState { ...@@ -62,7 +62,7 @@ class InterfacePtrState {
private: private:
class ProxyWithStub : public Interface::Proxy_ { class ProxyWithStub : public Interface::Proxy_ {
public: public:
explicit ProxyWithStub(MessageReceiver* receiver) explicit ProxyWithStub(MessageReceiverWithResponder* receiver)
: Interface::Proxy_(receiver) { : Interface::Proxy_(receiver) {
} }
typename Interface::Client::Stub_ stub; typename Interface::Client::Stub_ stub;
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
#include "mojo/public/cpp/bindings/message_filter.h" #include "mojo/public/cpp/bindings/message_filter.h"
#include <assert.h>
namespace mojo { namespace mojo {
MessageFilter::MessageFilter(MessageReceiver* sink) : sink_(sink) { MessageFilter::MessageFilter(MessageReceiver* sink) : sink_(sink) {
...@@ -14,12 +12,6 @@ MessageFilter::MessageFilter(MessageReceiver* sink) : sink_(sink) { ...@@ -14,12 +12,6 @@ MessageFilter::MessageFilter(MessageReceiver* sink) : sink_(sink) {
MessageFilter::~MessageFilter() { MessageFilter::~MessageFilter() {
} }
bool MessageFilter::AcceptWithResponder(Message* message,
MessageReceiver* responder) {
assert(false); // Not reached!
return false;
}
PassThroughFilter::PassThroughFilter(MessageReceiver* sink) PassThroughFilter::PassThroughFilter(MessageReceiver* sink)
: MessageFilter(sink) { : MessageFilter(sink) {
} }
......
...@@ -30,12 +30,6 @@ class ResponderThunk : public MessageReceiver { ...@@ -30,12 +30,6 @@ class ResponderThunk : public MessageReceiver {
return result; return result;
} }
virtual bool AcceptWithResponder(Message* message,
MessageReceiver* responder) MOJO_OVERRIDE {
assert(false); // not reached!
return false;
}
private: private:
SharedData<Router*> router_; SharedData<Router*> router_;
}; };
...@@ -53,13 +47,6 @@ bool Router::HandleIncomingMessageThunk::Accept(Message* message) { ...@@ -53,13 +47,6 @@ bool Router::HandleIncomingMessageThunk::Accept(Message* message) {
return router_->HandleIncomingMessage(message); return router_->HandleIncomingMessage(message);
} }
bool Router::HandleIncomingMessageThunk::AcceptWithResponder(
Message* message,
MessageReceiver* responder) {
assert(false); // not reached!
return false;
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
Router::Router(ScopedMessagePipeHandle message_pipe, Router::Router(ScopedMessagePipeHandle message_pipe,
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
namespace mojo { namespace mojo {
namespace internal { namespace internal {
class Router : public MessageReceiver { class Router : public MessageReceiverWithResponder {
public: public:
Router(ScopedMessagePipeHandle message_pipe, Router(ScopedMessagePipeHandle message_pipe,
FilterChain filters, FilterChain filters,
...@@ -23,7 +23,7 @@ class Router : public MessageReceiver { ...@@ -23,7 +23,7 @@ class Router : public MessageReceiver {
// Sets the receiver to handle messages read from the message pipe that do // Sets the receiver to handle messages read from the message pipe that do
// not have the kMessageIsResponse flag set. // not have the kMessageIsResponse flag set.
void set_incoming_receiver(MessageReceiver* receiver) { void set_incoming_receiver(MessageReceiverWithResponder* receiver) {
incoming_receiver_ = receiver; incoming_receiver_ = receiver;
} }
...@@ -67,8 +67,7 @@ class Router : public MessageReceiver { ...@@ -67,8 +67,7 @@ class Router : public MessageReceiver {
// MessageReceiver implementation: // MessageReceiver implementation:
virtual bool Accept(Message* message) MOJO_OVERRIDE; virtual bool Accept(Message* message) MOJO_OVERRIDE;
virtual bool AcceptWithResponder(Message* message,
MessageReceiver* responder) MOJO_OVERRIDE;
private: private:
Router* router_; Router* router_;
}; };
...@@ -79,7 +78,7 @@ class Router : public MessageReceiver { ...@@ -79,7 +78,7 @@ class Router : public MessageReceiver {
FilterChain filters_; FilterChain filters_;
Connector connector_; Connector connector_;
SharedData<Router*> weak_self_; SharedData<Router*> weak_self_;
MessageReceiver* incoming_receiver_; MessageReceiverWithResponder* incoming_receiver_;
ResponderMap responders_; ResponderMap responders_;
uint64_t next_request_id_; uint64_t next_request_id_;
}; };
......
...@@ -84,6 +84,11 @@ class MessageReceiver { ...@@ -84,6 +84,11 @@ class MessageReceiver {
// was accepted and false otherwise, indicating that the message was invalid // was accepted and false otherwise, indicating that the message was invalid
// or malformed. // or malformed.
virtual bool Accept(Message* message) MOJO_WARN_UNUSED_RESULT = 0; virtual bool Accept(Message* message) MOJO_WARN_UNUSED_RESULT = 0;
};
class MessageReceiverWithResponder : public MessageReceiver {
public:
virtual ~MessageReceiverWithResponder() {}
// A variant on Accept that registers a MessageReceiver (known as the // A variant on Accept that registers a MessageReceiver (known as the
// responder) to handle the response message generated from the given // responder) to handle the response message generated from the given
......
...@@ -24,11 +24,6 @@ class MessageFilter : public MessageReceiver { ...@@ -24,11 +24,6 @@ class MessageFilter : public MessageReceiver {
protected: protected:
MessageReceiver* sink_; MessageReceiver* sink_;
private:
// MessageReceiver method that shouldn't be reached.
virtual bool AcceptWithResponder(Message* message,
MessageReceiver* responder) MOJO_OVERRIDE;
}; };
// A trivial filter that simply forwards every message it receives to |sink_|. // A trivial filter that simply forwards every message it receives to |sink_|.
......
...@@ -34,7 +34,7 @@ class NoInterfaceProxy : public NoInterface { ...@@ -34,7 +34,7 @@ class NoInterfaceProxy : public NoInterface {
explicit NoInterfaceProxy(MessageReceiver* receiver) {} explicit NoInterfaceProxy(MessageReceiver* receiver) {}
}; };
class NoInterfaceStub : public MessageReceiver { class NoInterfaceStub : public MessageReceiverWithResponder {
public: public:
NoInterfaceStub() {} NoInterfaceStub() {}
void set_sink(NoInterface* sink) {} void set_sink(NoInterface* sink) {}
......
...@@ -27,11 +27,6 @@ class MessageAccumulator : public MessageReceiver { ...@@ -27,11 +27,6 @@ class MessageAccumulator : public MessageReceiver {
return true; return true;
} }
virtual bool AcceptWithResponder(Message* message, MessageReceiver* responder)
MOJO_OVERRIDE {
return false;
}
bool IsEmpty() const { bool IsEmpty() const {
return queue_.IsEmpty(); return queue_.IsEmpty();
} }
......
...@@ -42,16 +42,11 @@ class MessageAccumulator : public MessageReceiver { ...@@ -42,16 +42,11 @@ class MessageAccumulator : public MessageReceiver {
return true; return true;
} }
virtual bool AcceptWithResponder(Message* message, MessageReceiver* responder)
MOJO_OVERRIDE {
return false;
}
private: private:
internal::MessageQueue* queue_; internal::MessageQueue* queue_;
}; };
class ResponseGenerator : public MessageReceiver { class ResponseGenerator : public MessageReceiverWithResponder {
public: public:
ResponseGenerator() { ResponseGenerator() {
} }
......
...@@ -287,12 +287,12 @@ class ServiceImpl : public Service { ...@@ -287,12 +287,12 @@ class ServiceImpl : public Service {
class ServiceProxyImpl : public ServiceProxy { class ServiceProxyImpl : public ServiceProxy {
public: public:
explicit ServiceProxyImpl(mojo::MessageReceiver* receiver) explicit ServiceProxyImpl(mojo::MessageReceiverWithResponder* receiver)
: ServiceProxy(receiver) { : ServiceProxy(receiver) {
} }
}; };
class SimpleMessageReceiver : public mojo::MessageReceiver { class SimpleMessageReceiver : public mojo::MessageReceiverWithResponder {
public: public:
virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE { virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE {
// Imagine some IPC happened here. // Imagine some IPC happened here.
......
...@@ -96,11 +96,6 @@ class DummyMessageReceiver : public MessageReceiver { ...@@ -96,11 +96,6 @@ class DummyMessageReceiver : public MessageReceiver {
virtual bool Accept(Message* message) MOJO_OVERRIDE { virtual bool Accept(Message* message) MOJO_OVERRIDE {
return true; // Any message is OK. return true; // Any message is OK.
} }
virtual bool AcceptWithResponder(Message* message,
MessageReceiver* responder) MOJO_OVERRIDE {
assert(false);
return false;
}
}; };
std::string DumpMessageHeader(Message* message) { std::string DumpMessageHeader(Message* message) {
......
...@@ -77,12 +77,6 @@ class {{class_name}}_{{method.name}}_ForwardToCallback ...@@ -77,12 +77,6 @@ class {{class_name}}_{{method.name}}_ForwardToCallback
: callback_(callback) { : callback_(callback) {
} }
virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE; virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE;
virtual bool AcceptWithResponder(
mojo::Message* message,
mojo::MessageReceiver* responder) MOJO_OVERRIDE {
assert(false);
return false;
}
private: private:
{{interface_macros.declare_callback(method)}} callback_; {{interface_macros.declare_callback(method)}} callback_;
MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback); MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback);
...@@ -102,7 +96,7 @@ bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( ...@@ -102,7 +96,7 @@ bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept(
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
{{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver)
: receiver_(receiver) { : receiver_(receiver) {
} }
......
{%- import "interface_macros.tmpl" as interface_macros %} {%- import "interface_macros.tmpl" as interface_macros %}
class {{interface.name}}Proxy : public {{interface.name}} { class {{interface.name}}Proxy : public {{interface.name}} {
public: public:
explicit {{interface.name}}Proxy(mojo::MessageReceiver* receiver); explicit {{interface.name}}Proxy(mojo::MessageReceiverWithResponder* receiver);
{%- for method in interface.methods %} {%- for method in interface.methods %}
virtual void {{method.name}}( virtual void {{method.name}}(
...@@ -10,5 +10,5 @@ class {{interface.name}}Proxy : public {{interface.name}} { ...@@ -10,5 +10,5 @@ class {{interface.name}}Proxy : public {{interface.name}} {
{%- endfor %} {%- endfor %}
private: private:
mojo::MessageReceiver* receiver_; mojo::MessageReceiverWithResponder* receiver_;
}; };
class {{interface.name}}Stub : public mojo::MessageReceiver { class {{interface.name}}Stub : public mojo::MessageReceiverWithResponder {
public: public:
{{interface.name}}Stub(); {{interface.name}}Stub();
void set_sink({{interface.name}}* sink) { sink_ = sink; } void set_sink({{interface.name}}* sink) { sink_ = sink; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment