diff options
author | Miguel de Icaza <miguel@gnome.org> | 2001-06-20 03:08:44 +0400 |
---|---|---|
committer | Miguel de Icaza <miguel@gnome.org> | 2001-06-20 03:08:44 +0400 |
commit | 6049b85accef724f847767f3b0a9e9033b8c34bb (patch) | |
tree | 7ac962987263ba8805a235e78567ee62082196dd /doc/class-library | |
parent | 2df9c2fb52a216fe6bc82dc3d04b28ab6f55bc30 (diff) |
Add docs
svn path=/trunk/mono/; revision=15
Diffstat (limited to 'doc/class-library')
-rw-r--r-- | doc/class-library | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/doc/class-library b/doc/class-library new file mode 100644 index 00000000000..4cea4b24a9d --- /dev/null +++ b/doc/class-library @@ -0,0 +1,67 @@ +* The Class Library + + The Class Library should be compatible with Microsoft's .NET + implementation. + + Ideally as much code as possible should be written using C#, + in some cases we might either need to interface with code + written in C for large chunks of functionality (libart and + Gtk+ for example) or we would need to interface to the system + libraries (libc on Unix for networking functions for + example). + +** Using existing components from GNOME. + + Our current plan is to implement the GUI tools on top of + Gtk+. The only problem is that applications from Windows + might expect to be able to pull the HWND property from the + widgets and use PInvoke to call Windows functions. + +** Class Library and Win32 dependencies. + + There are a few spots where the Win32 foundation is exposed to + the class library (the HDC and HWND properties in the GDI+), + it seems from casual inspection that these can be safely + mapped to Gdk's GC and GdkWindow pointers without breaking anything. + + The only drawback is that, we will not support PInvoke + invocations of Win32 code. This could be possible in the + future by reusing pieces of Wine, and probably using Wine as + our toolkit, but we think this is not as important as most + people will always be isolated from the Win32 system. + +*** Initial GDI+ and WinForms implementation + + The initial implementation will use Gtk+ as the underlying + toolkit, but implementations for other windowing systems + should be possible (specially thinking about PDA devices + here). + + Since Gtk+ 2.0 has been ported to other windowing systems + other than X (frame buffer, Win32 and BeOS implementation + exist) it should cover most uses for most users. + +*** Database access + + Implementing the ADO.NET functionality can be done through + reusing <a href="http://www.gnome-db.org">GNOME-DB</a> as + GNOME-DB was implemented precisely to provide an ADO-like + system for GNOME. + +*** Component Integration + + We will provide a new namespace to use GNOME specific features + as well as a namespace to host Bonobo interfaces and classes + in Mono. + +** Licensing + + The class library will be licensed under the terms of the GNU + GPL, with the special provision that linking to this library + does not cause your application to be covered by the GNU GPL. + + This is a stop gap measure, I am using this until we can + figure out why not use the laxer GNU LGPL license. We do + request that contributors allow us to relicense the code under + a GNU LGPL like license in the future for inclussion in the + code base at any point in the future. |