Index: webkit/glue/devtools/devtools_rpc.h |
=================================================================== |
--- webkit/glue/devtools/devtools_rpc.h (revision 17071) |
+++ webkit/glue/devtools/devtools_rpc.h (working copy) |
@@ -174,7 +174,7 @@ |
#define TOOLS_RPC_DISPATCH1(Method, T1) \ |
if (method_name == #Method) { \ |
RpcTypeTrait<T1>::DispatchType t1; \ |
- DevToolsRpc::GetListValue(message, 2, &t1); \ |
+ DevToolsRpc::GetListValue(message, 0, &t1); \ |
delegate->Method( \ |
RpcTypeTrait<T1>::Pass(t1)); \ |
return true; \ |
@@ -184,8 +184,8 @@ |
if (method_name == #Method) { \ |
RpcTypeTrait<T1>::DispatchType t1; \ |
RpcTypeTrait<T2>::DispatchType t2; \ |
- DevToolsRpc::GetListValue(message, 2, &t1); \ |
- DevToolsRpc::GetListValue(message, 3, &t2); \ |
+ DevToolsRpc::GetListValue(message, 0, &t1); \ |
+ DevToolsRpc::GetListValue(message, 1, &t2); \ |
delegate->Method( \ |
RpcTypeTrait<T1>::Pass(t1), \ |
RpcTypeTrait<T2>::Pass(t2) \ |
@@ -198,9 +198,9 @@ |
RpcTypeTrait<T1>::DispatchType t1; \ |
RpcTypeTrait<T2>::DispatchType t2; \ |
RpcTypeTrait<T3>::DispatchType t3; \ |
- DevToolsRpc::GetListValue(message, 2, &t1); \ |
- DevToolsRpc::GetListValue(message, 3, &t2); \ |
- DevToolsRpc::GetListValue(message, 4, &t3); \ |
+ DevToolsRpc::GetListValue(message, 0, &t1); \ |
+ DevToolsRpc::GetListValue(message, 1, &t2); \ |
+ DevToolsRpc::GetListValue(message, 2, &t3); \ |
delegate->Method( \ |
RpcTypeTrait<T1>::Pass(t1), \ |
RpcTypeTrait<T2>::Pass(t2), \ |
@@ -215,10 +215,10 @@ |
RpcTypeTrait<T2>::DispatchType t2; \ |
RpcTypeTrait<T3>::DispatchType t3; \ |
RpcTypeTrait<T4>::DispatchType t4; \ |
- DevToolsRpc::GetListValue(message, 2, &t1); \ |
- DevToolsRpc::GetListValue(message, 3, &t2); \ |
- DevToolsRpc::GetListValue(message, 4, &t3); \ |
- DevToolsRpc::GetListValue(message, 5, &t4); \ |
+ DevToolsRpc::GetListValue(message, 0, &t1); \ |
+ DevToolsRpc::GetListValue(message, 1, &t2); \ |
+ DevToolsRpc::GetListValue(message, 2, &t3); \ |
+ DevToolsRpc::GetListValue(message, 3, &t4); \ |
delegate->Method( \ |
RpcTypeTrait<T1>::Pass(t1), \ |
RpcTypeTrait<T2>::Pass(t2), \ |
@@ -272,21 +272,23 @@ |
public: \ |
Class##Dispatch() {} \ |
virtual ~Class##Dispatch() {} \ |
+ \ |
+ static bool Dispatch(Class* delegate, \ |
+ const std::string& class_name, \ |
+ const std::string& method_name, \ |
+ const std::string& raw_msg) { \ |
+ OwnPtr<ListValue> message( \ |
+ static_cast<ListValue*>(DevToolsRpc::ParseMessage(raw_msg))); \ |
+ return Dispatch(delegate, class_name, method_name, *message.get()); \ |
+ } \ |
\ |
- static bool Dispatch(Class* delegate, const std::string& raw_msg) { \ |
- OwnPtr<ListValue> message( \ |
- static_cast<ListValue*>(DevToolsRpc::ParseMessage(raw_msg))); \ |
- return Dispatch(delegate, *message.get()); \ |
- } \ |
- \ |
- static bool Dispatch(Class* delegate, const ListValue& message) { \ |
- std::string class_name; \ |
- message.GetString(0, &class_name); \ |
+ static bool Dispatch(Class* delegate, \ |
+ const std::string& class_name, \ |
+ const std::string& method_name, \ |
+ const ListValue& message) { \ |
if (class_name != #Class) { \ |
return false; \ |
} \ |
- std::string method_name; \ |
- message.GetString(1, &method_name); \ |
typedef Class CLASS; \ |
STRUCT( \ |
TOOLS_RPC_DISPATCH0, \ |
@@ -308,7 +310,9 @@ |
public: |
Delegate() {} |
virtual ~Delegate() {} |
- virtual void SendRpcMessage(const std::string& msg) = 0; |
+ virtual void SendRpcMessage(const std::string& class_name, |
+ const std::string& method_name, |
+ const std::string& raw_msg) = 0; |
private: |
DISALLOW_COPY_AND_ASSIGN(Delegate); |
}; |
@@ -320,9 +324,7 @@ |
const std::string& class_name, |
const std::string& method_name) { |
ListValue message; |
- message.Append(CreateValue(&class_name)); |
- message.Append(CreateValue(&method_name)); |
- SendValueMessage(message); |
+ SendValueMessage(class_name, method_name, message); |
} |
template<typename T1> |
@@ -331,10 +333,8 @@ |
const std::string& method_name, |
T1 t1) { |
ListValue message; |
- message.Append(CreateValue(&class_name)); |
- message.Append(CreateValue(&method_name)); |
message.Append(CreateValue(t1)); |
- SendValueMessage(message); |
+ SendValueMessage(class_name, method_name, message); |
} |
template<typename T1, typename T2> |
@@ -343,11 +343,9 @@ |
const std::string& method_name, |
T1 t1, T2 t2) { |
ListValue message; |
- message.Append(CreateValue(&class_name)); |
- message.Append(CreateValue(&method_name)); |
message.Append(CreateValue(t1)); |
message.Append(CreateValue(t2)); |
- SendValueMessage(message); |
+ SendValueMessage(class_name, method_name, message); |
} |
template<typename T1, typename T2, typename T3> |
@@ -356,12 +354,10 @@ |
const std::string& method_name, |
T1 t1, T2 t2, T3 t3) { |
ListValue message; |
- message.Append(CreateValue(&class_name)); |
- message.Append(CreateValue(&method_name)); |
message.Append(CreateValue(t1)); |
message.Append(CreateValue(t2)); |
message.Append(CreateValue(t3)); |
- SendValueMessage(message); |
+ SendValueMessage(class_name, method_name, message); |
} |
template<typename T1, typename T2, typename T3, typename T4> |
@@ -370,13 +366,11 @@ |
const std::string& method_name, |
T1 t1, T2 t2, T3 t3, T4 t4) { |
ListValue message; |
- message.Append(CreateValue(&class_name)); |
- message.Append(CreateValue(&method_name)); |
message.Append(CreateValue(t1)); |
message.Append(CreateValue(t2)); |
message.Append(CreateValue(t3)); |
message.Append(CreateValue(t4)); |
- SendValueMessage(message); |
+ SendValueMessage(class_name, method_name, message); |
} |
static Value* ParseMessage(const std::string& raw_msg); |
@@ -405,7 +399,9 @@ |
static Value* CreateValue(bool* value); |
static Value* CreateValue(const Value* value); |
- void SendValueMessage(const Value& value); |
+ void SendValueMessage(const std::string& class_name, |
+ const std::string& method_name, |
+ const Value& value); |
Delegate* delegate_; |
DISALLOW_COPY_AND_ASSIGN(DevToolsRpc); |