1 %module global_namespace
2 
3 // classes
4 %inline %{
5 class Klass1 {};
6 class Klass2 {};
7 class Klass3 {};
8 class Klass4 {};
9 class Klass5 {};
10 class Klass6 {};
11 class Klass7 {};
12 
13 struct KlassMethods {
methodAKlassMethods14    static void methodA(::Klass1 v, const ::Klass2 cv, const ::Klass3 *cp, ::Klass4 *p, const ::Klass5 &cr, ::Klass6 &r, ::Klass7*const& pr) {}
methodBKlassMethods15    static void methodB(  Klass1 v, const   Klass2 cv, const   Klass3 *cp,   Klass4 *p, const   Klass5 &cr,   Klass6 &r,   Klass7*const& pr) {}
16 };
17 %}
18 
19 %inline %{
20 namespace Space {
21 class XYZ1 {};
22 class XYZ2 {};
23 class XYZ3 {};
24 class XYZ4 {};
25 class XYZ5 {};
26 class XYZ6 {};
27 class XYZ7 {};
28 }
29 
30 struct XYZMethods {
methodAXYZMethods31    static void methodA(::Space::XYZ1 v, const ::Space::XYZ2 cv, const ::Space::XYZ3 *cp, ::Space::XYZ4 *p, const ::Space::XYZ5 &cr, ::Space::XYZ6 &r, ::Space::XYZ7*const& pr) {}
methodBXYZMethods32    static void methodB(  Space::XYZ1 v, const   Space::XYZ2 cv, const   Space::XYZ3 *cp,   Space::XYZ4 *p, const   Space::XYZ5 &cr,   Space::XYZ6 &r,   Space::XYZ7*const& pr) {}
33 };
34 %}
35 
36 //enums
37 %inline %{
38 enum AnEnum1 { anenum1 };
39 enum AnEnum2 { anenum2 };
40 enum AnEnum3 { anenum3 };
41 
42 struct AnEnumMethods {
methodAAnEnumMethods43    static void methodA(::AnEnum1 v, const ::AnEnum2 cv, const ::AnEnum3 &cr) {}
methodBAnEnumMethods44    static void methodB(  AnEnum1 v, const   AnEnum2 cv, const   AnEnum3 &cr) {}
45 };
46 %}
47 
48 %inline %{
49 namespace Space {
50 enum TheEnum1 { theenum1 };
51 enum TheEnum2 { theenum2 };
52 enum TheEnum3 { theenum3 };
53 
54 struct TheEnumMethods {
methodATheEnumMethods55    static void methodA(::Space::TheEnum1 v, const ::Space::TheEnum2 cv, const ::Space::TheEnum3 &cr) {}
methodBTheEnumMethods56    static void methodB(  Space::TheEnum1 v, const   Space::TheEnum2 cv, const   Space::TheEnum3 &cr) {}
57 };
58 }
59 %}
60 
61 %inline %{
getKlass1A()62 Klass1 getKlass1A()   { return ::Klass1(); }
getKlass1B()63 ::Klass1 getKlass1B() { return ::Klass1(); }
64 
getKlass2A()65 Klass2 getKlass2A()   { return ::Klass2(); }
getKlass2B()66 ::Klass2 getKlass2B() { return ::Klass2(); }
67 
getKlass3A()68 Klass3 getKlass3A()   { return ::Klass3(); }
getKlass3B()69 ::Klass3 getKlass3B() { return ::Klass3(); }
70 
getKlass4A()71 Klass4 getKlass4A()   { return ::Klass4(); }
getKlass4B()72 ::Klass4 getKlass4B() { return ::Klass4(); }
73 
getKlass5A()74 Klass5 getKlass5A()   { return ::Klass5(); }
getKlass5B()75 ::Klass5 getKlass5B() { return ::Klass5(); }
76 
getKlass6A()77 Klass6 getKlass6A()   { return ::Klass6(); }
getKlass6B()78 ::Klass6 getKlass6B() { return ::Klass6(); }
79 
getKlass7A()80 Klass7 getKlass7A()   { return ::Klass7(); }
getKlass7B()81 ::Klass7 getKlass7B() { return ::Klass7(); }
82 %}
83