Home | History | Annotate | Download | only in csharp
      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