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