/trunk/Examples/test-suite/csharp_attributes.i
Swig | 62 lines | 53 code | 9 blank | 0 comment | 0 complexity | cd94b06e4bf7cba8923b8765328392be MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module(directors="1") csharp_attributes
- // Test the inattributes and outattributes typemaps
- %typemap(cstype, outattributes="[IntOut]", inattributes="[IntIn]") int "int"
- %typemap(imtype, outattributes="[IntegerOut]", inattributes="[IntegerIn]") int "int"
- %inline %{
- class Stations {
- public:
- Stations(int myInt) { }
- int Reading(int myInt) { return myInt; }
- static int Swindon(int myInt) { return myInt; }
- };
- #define TESTMACRO 10
- int GlobalFunction(int myInt) { return myInt; }
- %}
- //%include "enumsimple.swg"
- //%include "enumtypesafe.swg"
- // Test the attributes feature
- %csattributes MoreStations::MoreStations() "[InterCity1]"
- %csattributes MoreStations::Chippenham() "[InterCity2]"
- %csattributes MoreStations::Bath() "[InterCity3]"
- %csattributes Bristol "[InterCity4]"
- %csattributes WestonSuperMare "[InterCity5]"
- %csattributes Wales "[InterCity6]"
- %csattributes Paddington() "[InterCity7]"
- %csattributes DidcotParkway "[InterCity8]"
- %csattributes MoreStations::Cardiff "[System.ComponentModel.Description(\"Cardiff city station\")]"
- %csattributes Swansea "[System.ComponentModel.Description(\"Swansea city station\")]"
- %typemap(csattributes) MoreStations "[Eurostar1]"
- %typemap(csattributes) MoreStations::Wales "[Eurostar2]"
- %typemap(csattributes) Cymru "[Eurostar3]"
- %inline %{
- struct MoreStations {
- MoreStations() : Bristol(0) {}
- void Chippenham() {}
- static void Bath() {}
- int Bristol;
- static double WestonSuperMare;
- enum Wales { Cardiff = 1, Swansea };
- };
- void Paddington() {}
- float DidcotParkway;
- enum Cymru { Llanelli };
- double MoreStations::WestonSuperMare = 0.0;
- %}
- // Test directorinattributes and directoroutattributes
- %typemap(imtype, directoroutattributes="[DirectorIntegerOut]", directorinattributes="[DirectorIntegerIn]") int "int"
- %feature("director") YetMoreStations;
- %inline %{
- struct YetMoreStations {
- virtual int Slough(int x) { return x; }
- virtual ~YetMoreStations() {}
- };
- %}