| ################################# |
| # |
| # 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 |