%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() {} }; %}