File size: 1,764 Bytes
985c397 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #! python
# SPDX-License-Identifier: LGPL-2.1-or-later
# (c) 2006 Juergen Riegel
from . import template
import model.generateModel_Module
import model.generateTools
class TemplateModuleAppMain(template.ModelTemplate):
def Generate(self):
file = open(self.outputDir + "/App" + self.module.Name + ".cpp", "w")
model.generateTools.replace(self.Template, locals(), file)
# file.write( model.generateTools.replace(self.Template,locals()))
Template = """
/***************************************************************************
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Library General Public License as *
* published by the Free Software Foundation; either version 2 of the *
* License, or (at your option) any later version. *
* for detail see the LICENCE text file. *
* *
***************************************************************************/
# include <Python.h>
#include <Base/Console.h>
+ for i in self.module.Content.Feature:
#include "Feature/@i.Name@.h"
-
extern struct PyMethodDef @self.module.Name@_methods[];
extern "C" {
void App@self.module.Name@Export init@self.module.Name@() {
Base::Console().log("Mod: Loading @self.module.Name@ module... done\\n");
PyObject* partModule = Py_InitModule3("@self.module.Name@", @self.module.Name@_methods, module_@self.module.Name@_doc); /* mod name, table ptr */
+ for i in self.module.Content.Feature:
@self.module.Name@::Feature@i.Name@::init();
-
return;
}
} // extern "C"
"""
|