예제 #1
0
        def service(generated_file):
            includes = set(["modules/scope/src/scope_service.h"])

            text = ""
            gen = CppServiceGenerator(self.service)
            text += gen.getInterfaceIncludes()

            className = self.service.iparent.cpp.cppMessageSet().name
            set_gen = CppMessageSetGenerator(package, serviceMessages2(self.service), className, self.operaRoot)

            text += set_gen.getInterface()

            text += set_gen.renderDescriptorDeclaration()

            text += gen.getInterface(generate_instance=self.cppService.generateInstance)

            # Bring in includes needed by types or other generated code
            type_includes = set()
            for msgGen in list(set_gen.messageGenerators(with_inline=True)):
                type_includes |= msgGen.type_decl_includes
            includes |= type_includes
            includes = list(includes)
            includes.sort()

            return self.renderFile(
                generated_file.path, text, includes=includes, defines=self.defines, proto_file=proto_file
            )
예제 #2
0
        def service(generated_file):
            includes = set(["modules/scope/src/scope_service.h"])

            text = ""
            gen = CppServiceGenerator(self.service)
            text += gen.getInterfaceIncludes()

            className = self.service.iparent.cpp.cppMessageSet().name
            set_gen = CppMessageSetGenerator(package,
                                             serviceMessages2(self.service),
                                             className, self.operaRoot)

            text += set_gen.getInterface()

            text += set_gen.renderDescriptorDeclaration()

            text += gen.getInterface(
                generate_instance=self.cppService.generateInstance)

            # Bring in includes needed by types or other generated code
            type_includes = set()
            for msgGen in list(set_gen.messageGenerators(with_inline=True)):
                type_includes |= msgGen.type_decl_includes
            includes |= type_includes
            includes = list(includes)
            includes.sort()

            return self.renderFile(generated_file.path,
                                   text,
                                   includes=includes,
                                   defines=self.defines,
                                   proto_file=proto_file)
예제 #3
0
    def generate(self):
        text = fileHeader()
        text += (
            "\n"
            + render(
                """
            #include "core/pch.h"

            %(defines)s

            #include "%(interfaceInclude)s"

            """,
                {
                    "defines": self.renderDefines(self.defines),
                    "interfaceInclude": cpp_path_norm(self.includes["interfaceDeclaration"]),
                    "serviceStr": strQuote(self.service.name),
                },
            )
            + "\n"
        )

        className = self.service.iparent.cpp.cppMessageSet().name
        set_gen = CppMessageSetGenerator(
            self.service.iparent, serviceMessages2(self.service), className, self.operaRoot
        )
        text += set_gen.renderDescriptorImplementation()
        text += set_gen.getImplementation()

        gen = CppServiceGenerator(self.service)
        text += gen.getInterfaceImplementation()

        text += "\n// Service implementation: BEGIN\n"
        text += gen.getServiceImplementation(generate_instance=self.cppService.generateInstance)
        text += "\n// Service implementation: END\n\n"

        text += (
            render(
                """

            %(endifs)s
            """,
                {"endifs": self.renderEndifs(self.defines)},
            )
            + "\n"
        )

        return text
예제 #4
0
    def generate(self):
        text = fileHeader()
        text += "\n" + render(
            """
            #include "core/pch.h"

            %(defines)s

            #include "%(interfaceInclude)s"

            """, {
                "defines":
                self.renderDefines(self.defines),
                "interfaceInclude":
                cpp_path_norm(self.includes["interfaceDeclaration"]),
                "serviceStr":
                strQuote(self.service.name),
            }) + "\n"

        className = self.service.iparent.cpp.cppMessageSet().name
        set_gen = CppMessageSetGenerator(self.service.iparent,
                                         serviceMessages2(self.service),
                                         className, self.operaRoot)
        text += set_gen.renderDescriptorImplementation()
        text += set_gen.getImplementation()

        gen = CppServiceGenerator(self.service)
        text += gen.getInterfaceImplementation()

        text += "\n// Service implementation: BEGIN\n"
        text += gen.getServiceImplementation(
            generate_instance=self.cppService.generateInstance)
        text += "\n// Service implementation: END\n\n"

        text += render("""

            %(endifs)s
            """, {
            "endifs": self.renderEndifs(self.defines),
        }) + "\n"

        return text