== Overview == [http://mono-project.org Mono] is a Open Source implementation of the .NET runtime. The Mono Loader aims to embed mono into libpurple so that plugins can be written in any .NET Language. == Mono Loader SoC Development Notes == '''SoC Goals and Milestones''' * Completely wrap libpurple API in .NET bindings. * Fix the Mysterious Seg Fault On Exit (tm). * Re-examing and possibly re-implement signal-glue and API -glue code. * Give .NET Purple objects the ability to actually update their C counterpart (or create one). '''Mentor Goals/Objectives ([http://guifications.org/trac/wiki/grim grim])''' * Implement signal chaining in Mono so Pidgin's signal handling doesn't get eaten up by the Mono runtime. See [http://bugzilla.ximian.com/show_bug.cgi?id=75990 Mono Bug 75990]. * Fix the build system so that make can be run successfully with multiple jobs. '''Loader Internals:''' * There must be a better way for having the loader handle signals on behalf of .net plugins (will document the current implementation here). * Right now delegates are invoked and just given an array of their data. Would be nice if we could explicitly state what they expect, e.g. {{{ OnBuddyStatusChanged(Buddy b, Status s) }}}