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

Unified Diff: lib/DispatcherBase_h.template

Issue 2509573006: [inspector_protocol] Support features for content/ generator. (Closed)
Patch Set: DCHECK Created 4 years, 1 month 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 | « lib/DispatcherBase_cpp.template ('k') | templates/TypeBuilder_cpp.template » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/DispatcherBase_h.template
diff --git a/lib/DispatcherBase_h.template b/lib/DispatcherBase_h.template
index 4fb89efafe9706c333fd786392db0f3ddc5b01f6..9838637c59340ed91dbcc0aad51b7697cf5373bf 100644
--- a/lib/DispatcherBase_h.template
+++ b/lib/DispatcherBase_h.template
@@ -42,6 +42,7 @@ public:
static DispatchResponse OK();
static DispatchResponse Error(const String&);
static DispatchResponse InternalError();
+ static DispatchResponse InvalidParams(const String&);
static DispatchResponse FallThrough();
private:
@@ -67,16 +68,18 @@ public:
class {{config.lib.export_macro}} Callback {
public:
- Callback(std::unique_ptr<WeakPtr> backendImpl, int callId);
+ Callback(std::unique_ptr<WeakPtr> backendImpl, int callId, int callbackId);
virtual ~Callback();
void dispose();
protected:
void sendIfActive(std::unique_ptr<protocol::DictionaryValue> partialMessage, const DispatchResponse& response);
+ void fallThroughIfActive();
private:
std::unique_ptr<WeakPtr> m_backendImpl;
int m_callId;
+ int m_callbackId;
};
explicit DispatcherBase(FrontendChannel*);
@@ -94,9 +97,15 @@ public:
std::unique_ptr<WeakPtr> weakPtr();
+ int nextCallbackId();
+ void markFallThrough(int callbackId);
+ bool lastCallbackFallThrough() { return m_lastCallbackFallThrough; }
+
private:
FrontendChannel* m_frontendChannel;
protocol::HashSet<WeakPtr*> m_weakPtrs;
+ int m_lastCallbackId;
+ bool m_lastCallbackFallThrough;
};
class {{config.lib.export_macro}} UberDispatcher {
@@ -106,10 +115,13 @@ public:
void registerBackend(const String& name, std::unique_ptr<protocol::DispatcherBase>);
DispatchResponse::Status dispatch(std::unique_ptr<Value> message);
FrontendChannel* channel() { return m_frontendChannel; }
+ bool fallThroughForNotFound() { return m_fallThroughForNotFound; }
+ void setFallThroughForNotFound(bool);
virtual ~UberDispatcher();
private:
FrontendChannel* m_frontendChannel;
+ bool m_fallThroughForNotFound;
protocol::HashMap<String, std::unique_ptr<protocol::DispatcherBase>> m_dispatchers;
};
« no previous file with comments | « lib/DispatcherBase_cpp.template ('k') | templates/TypeBuilder_cpp.template » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698