| Index: Source/core/inspector/CodeGeneratorInspector.py
|
| diff --git a/Source/core/inspector/CodeGeneratorInspector.py b/Source/core/inspector/CodeGeneratorInspector.py
|
| index 481682bcfeca44359f3c2c621361b87cc2f1774f..cd46b6ae69a863cba53ecf54ffdc4924afe21b69 100755
|
| --- a/Source/core/inspector/CodeGeneratorInspector.py
|
| +++ b/Source/core/inspector/CodeGeneratorInspector.py
|
| @@ -1808,14 +1808,23 @@ class Generator:
|
| if "commands" in json_domain:
|
| for json_command in json_domain["commands"]:
|
| Generator.process_command(json_command, domain_name, agent_field_name, agent_interface_name)
|
| +
|
| + Generator.backend_agent_interface_list.append("\n class Controller {\n")
|
| + Generator.backend_agent_interface_list.append(" public:\n")
|
| + Generator.backend_agent_interface_list.append(" virtual %s* getCommandHandler() = 0;\n" % agent_interface_name)
|
| + Generator.backend_agent_interface_list.append(" protected:\n")
|
| + Generator.backend_agent_interface_list.append(" virtual ~Controller() { }\n")
|
| + Generator.backend_agent_interface_list.append(" };\n\n")
|
| + agent_controller_name = agent_interface_name + "::Controller"
|
| +
|
| Generator.backend_agent_interface_list.append("\n protected:\n")
|
| Generator.backend_agent_interface_list.append(" virtual ~%s() { }\n" % agent_interface_name)
|
| Generator.backend_agent_interface_list.append(" };\n\n")
|
|
|
| Generator.backend_constructor_init_list.append(" , m_%s(0)" % agent_field_name)
|
| - Generator.backend_virtual_setters_list.append(" virtual void registerAgent(%s* %s) = 0;" % (agent_interface_name, agent_field_name))
|
| - Generator.backend_setters_list.append(" virtual void registerAgent(%s* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_interface_name, agent_field_name, agent_field_name, agent_field_name, agent_field_name))
|
| - Generator.backend_field_list.append(" %s* m_%s;" % (agent_interface_name, agent_field_name))
|
| + Generator.backend_virtual_setters_list.append(" virtual void registerAgent(%s* %s) = 0;" % (agent_controller_name, agent_field_name))
|
| + Generator.backend_setters_list.append(" virtual void registerAgent(%s* %s) { ASSERT(!m_%s); m_%s = %s; }" % (agent_controller_name, agent_field_name, agent_field_name, agent_field_name, agent_field_name))
|
| + Generator.backend_field_list.append(" %s* m_%s;" % (agent_controller_name, agent_field_name))
|
|
|
| @staticmethod
|
| def process_event(json_event, domain_name, frontend_method_declaration_lines):
|
| @@ -1989,6 +1998,7 @@ class Generator:
|
| Generator.backend_method_implementation_list.append(Templates.backend_method.substitute(None,
|
| domainName=domain_name, methodName=json_command_name,
|
| agentField="m_" + agent_field_name,
|
| + handlerClass=agent_interface_name,
|
| methodInCode=method_in_code,
|
| methodOutCode=method_out_code,
|
| agentCallParams="".join(agent_call_param_list),
|
|
|