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"

"""