blob: dc837b9c67153d05e6304123556bacd0e50d9931 [file] [log] [blame]
#################################
#
# 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