| Index: Source/core/inspector/CodeGeneratorInspector.py
|
| diff --git a/Source/core/inspector/CodeGeneratorInspector.py b/Source/core/inspector/CodeGeneratorInspector.py
|
| index a718464d083ae0fca3471e1db6b884a312604afe..ef23f9aa85ff0a4478798108988ccc5bf1ef18f1 100755
|
| --- a/Source/core/inspector/CodeGeneratorInspector.py
|
| +++ b/Source/core/inspector/CodeGeneratorInspector.py
|
| @@ -1837,14 +1837,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 Factory {\n")
|
| + Generator.backend_agent_interface_list.append(" public:\n")
|
| + Generator.backend_agent_interface_list.append(" virtual %s* commandHandler() = 0;\n" % agent_interface_name)
|
| + Generator.backend_agent_interface_list.append(" protected:\n")
|
| + Generator.backend_agent_interface_list.append(" virtual ~Factory() { }\n")
|
| + Generator.backend_agent_interface_list.append(" };\n\n")
|
| + agent_controller_name = agent_interface_name + "::Factory"
|
| +
|
| 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):
|
| @@ -2056,6 +2065,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),
|
|
|