1 ################################# 2 # 3 # C# Clearsilver wrapper 4 # 5 # David Jeske 6 # 7 8 This wrapper was developed using the Mono project's C# implementation. 9 It isn't done, and it hasn't yet been tested with the MS C# 10 implementation, however, in theory it should work. Here are some salient 11 ideas behind this implementation: 12 13 - I don't use IntPtr, because it is basically a void* that 14 removes type information and begs for coredumps to occur later. 15 16 - I also don't use data marshaling for aggregate C-types. Instead I 17 merely access the structure members directly from C# unsafe code, just 18 like you would if this was C code. 19 20 - The only data which is marshalled is function arguments and data which 21 is pulled out of or put into C-structures. 22 23 - There are many things still todo before this is a fully working 24 module, but the basics are there. 25 26 27 TODO: 28 29 - more tests (look at ruby/test/hdftest.rb for an example) 30 - do something better about mapping hdferror to exceptions 31 - recheck the function prototypes to make sure I'm handling all 32 arguments 33 - handle next(), prev() 34 - make iterator for child nodes 35 - allow registration of upload callbacks and data-formatters from C# 36 - open up access to other parts of cgi and util 37 - sample code for using inside mod_mono, includign CSPage.cs 38