def generate(self): package = self.cppPackage.package guard = re.sub( "_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() includes = [ cpp_path_norm(package.cpp.filenames["opMessageDeclaration"]), "modules/protobuf/src/protobuf_input.h", "modules/protobuf/src/protobuf_output.h", "modules/protobuf/src/protobuf_message.h", "modules/protobuf/src/protobuf_data.h", "modules/protobuf/src/generated/g_protobuf_descriptors.h", ] text = fileHeader() text += "\n" + render( """ // Generated from %(proto_file)s #include "core/pch.h" #ifndef %(guard)s #define %(guard)s %(defines)s %(includes)s """, { "proto_file": self.cppPackage.makeRelativePath( package.filename), "guard": guard, "defines": self.renderDefines(self.cppPackage.defines), "includes": self.renderIncludes(includes), }) + "\n" set_gen = CppOpMessageSetGenerator(package, self.cppPackage.messages, options=self.cppPackage) text += set_gen.getImplementation() text += render( """ %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.cppPackage.defines), "guard": guard, }) + "\n" return text
def generate(self): package = self.cppPackage.package guard = re.sub( "_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() includes = [ cpp_path_norm(package.cpp.filenames["messageDeclaration"]), "modules/hardcore/component/OpTypedMessage.h", ] text = fileHeader() text += "\n" + render( """ // Generated from %(proto_file)s #ifndef %(guard)s #define %(guard)s %(defines)s %(includes)s """, { "proto_file": self.cppPackage.makeRelativePath( package.filename), "guard": guard, "defines": self.renderDefines(self.cppPackage.defines), "includes": self.renderIncludes(includes), }) + "\n" set_gen = CppOpMessageSetGenerator(package, self.cppPackage.messages, options=self.cppPackage) text += set_gen.getInterface() text += render( """ %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.cppPackage.defines), "guard": guard, }) + "\n" return text
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
def generate(self): package = self.cppPackage.package guard = re.sub("_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() includes = [cpp_path_norm(package.cpp.filenames["opMessageDeclaration"]), "modules/protobuf/src/protobuf_input.h", "modules/protobuf/src/protobuf_output.h", "modules/protobuf/src/protobuf_message.h", "modules/protobuf/src/protobuf_data.h", "modules/protobuf/src/generated/g_protobuf_descriptors.h", ] text = fileHeader() text += "\n" + render(""" // Generated from %(proto_file)s #include "core/pch.h" #ifndef %(guard)s #define %(guard)s %(defines)s %(includes)s """, { "proto_file": self.cppPackage.makeRelativePath(package.filename), "guard": guard, "defines": self.renderDefines(self.cppPackage.defines), "includes": self.renderIncludes(includes), }) + "\n" set_gen = CppOpMessageSetGenerator(package, self.cppPackage.messages, options=self.cppPackage) text += set_gen.getImplementation() text += render(""" %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.cppPackage.defines), "guard": guard, }) + "\n" return text
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
def generate(self): text = "" text += fileHeader() text += "\n" + render(""" #include "core/pch.h" #ifdef SCOPE_SUPPORT #include "modules/scope/src/generated/g_scope_manager.h" """) + "\n" gen = CppManagerGenerator(self.services) text += gen.getImplementation() text += render(""" #endif // SCOPE_SUPPORT """) + "\n" return text
def generate(self): includes = [ "modules/hardcore/src/generated/OpTypedMessageBase.h", ] includes_set = set(includes) for message in self.messages: package = getPackage(message) for include in package.cpp.opMessageIncludes(): if include not in includes_set: includes_set.add(include) includes.append(include) text = fileHeader() text += "\n" + render( """ // Generated from proto files in the system #include "core/pch.h" %(defines)s %(includes)s """, { "defines": self.renderDefines(self.defines), "includes": self.renderIncludes(includes), }) + "\n" text += self.renderVerify(self.messages) + "\n" text += self.renderDeserialize(self.messages) + "\n" text += render(""" %(endifs)s """, { "endifs": self.renderEndifs(self.defines), }) + "\n" return text
def generate(self): package = self.cppPackage.package guard = re.sub("_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() includes = [cpp_path_norm(package.cpp.filenames["messageDeclaration"]), "modules/hardcore/component/OpTypedMessage.h", ] text = fileHeader() text += "\n" + render(""" // Generated from %(proto_file)s #ifndef %(guard)s #define %(guard)s %(defines)s %(includes)s """, { "proto_file": self.cppPackage.makeRelativePath(package.filename), "guard": guard, "defines": self.renderDefines(self.cppPackage.defines), "includes": self.renderIncludes(includes), }) + "\n" set_gen = CppOpMessageSetGenerator(package, self.cppPackage.messages, options=self.cppPackage) text += set_gen.getInterface() text += render(""" %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.cppPackage.defines), "guard": guard, }) + "\n" return text
def generate(self): includes = ["modules/hardcore/src/generated/OpTypedMessageBase.h", ] includes_set = set(includes) for message in self.messages: package = getPackage(message) for include in package.cpp.opMessageIncludes(): if include not in includes_set: includes_set.add(include) includes.append(include) text = fileHeader() text += "\n" + render(""" // Generated from proto files in the system #include "core/pch.h" %(defines)s %(includes)s """, { "defines": self.renderDefines(self.defines), "includes": self.renderIncludes(includes), }) + "\n" text += self.renderVerify(self.messages) + "\n" text += self.renderDeserialize(self.messages) + "\n" text += render(""" %(endifs)s """, { "endifs": self.renderEndifs(self.defines), }) + "\n" return text
def generate(self): text = "" text += fileHeader() text += "\n" + render(""" #ifndef OP_SCOPE_MANAGER_G_H #define OP_SCOPE_MANAGER_G_H #ifdef SCOPE_SUPPORT """) + "\n" gen = CppManagerGenerator(self.services) text += gen.getDeclaration() text += render(""" #endif // SCOPE_SUPPORT #endif // OP_SCOPE_MANAGER_G_H """) + "\n" return text
def generate(self): enums = self.enums guard = re.sub( "_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() text = fileHeader() text += "\n" + render( """ // Generated from proto files in the system #ifndef %(guard)s #define %(guard)s %(defines)s class OpTypedMessage; struct OpMessageAddress; class OpData; class OpTypedMessageBase { public: """, { "defines": self.renderDefines(self.defines), "guard": guard, }) + "\n" text += self.indent(self.renderVerify(enums)) + "\n" text += self.indent( render(""" /** * Deserializes the message data in @p data based on the @p type. * It will call the Class::Deserialize() method on the class that * belongs to the type. * * @param type The type of message data to decode. This determines * the class of the returned instance. * @param src Source address of the message. This will be placed in * the returned object. * @param dst Destination address of the message. This will be * placed in the returned object. * @param delay Number of milliseconds until this message should * be processed. This will be recorded in the returned object. * @param data The data-stream from which to de-serialize the * message object. * @return The deserialized message object or @c NULL on failure. */ static OpTypedMessage* DeserializeData( int type, const OpMessageAddress& src, const OpMessageAddress& dst, double delay, const OpData& data); """)) text += render( """ }; %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.defines), "guard": guard, }) + "\n" return text
def generate(self): enums = self.enums guard = re.sub("_+", "_", re.sub("[^a-zA-Z0-9]+", "_", os.path.basename(self.filePath))).strip("_").upper() text = fileHeader() text += "\n" + render(""" // Generated from proto files in the system #ifndef %(guard)s #define %(guard)s %(defines)s class OpTypedMessage; struct OpMessageAddress; class OpData; class OpTypedMessageBase { public: """, { "defines": self.renderDefines(self.defines), "guard": guard, }) + "\n" text += self.indent(self.renderVerify(enums)) + "\n" text += self.indent(render(""" /** * Deserializes the message data in @p data based on the @p type. * It will call the Class::Deserialize() method on the class that * belongs to the type. * * @param type The type of message data to decode. This determines * the class of the returned instance. * @param src Source address of the message. This will be placed in * the returned object. * @param dst Destination address of the message. This will be * placed in the returned object. * @param delay Number of milliseconds until this message should * be processed. This will be recorded in the returned object. * @param data The data-stream from which to de-serialize the * message object. * @return The deserialized message object or @c NULL on failure. */ static OpTypedMessage* DeserializeData( int type, const OpMessageAddress& src, const OpMessageAddress& dst, double delay, const OpData& data); """)) text += render(""" }; %(endifs)s #endif // %(guard)s """, { "endifs": self.renderEndifs(self.defines), "guard": guard, }) + "\n" return text