public Mongoose(string document_root, string listening_ports, MongooseEventHandler event_handler) { version_ = Marshal.PtrToStringAnsi(mg_version()); string[] options = { "document_root", document_root, "listening_ports", listening_ports, null }; MongooseEventHandlerN cb = delegate(ref MongooseEvent ev) { return(event_handler(ev)); }; // Prevent garbage collection delegates += cb; ctx_ = mg_start(options, cb, IntPtr.Zero); }
IntPtr mg_start([MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPTStr)] string[] options, MongooseEventHandlerN callback, IntPtr user_data);
IntPtr mg_start([MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPTStr)] string[] options, MongooseEventHandlerN callback, IntPtr user_data);