wiki:WikiStart

NOM the Netlabs Object Model

NOM is the object model on which the Voyager desktop is based.

About

The main feature of NOM is a release to release binary compatibility of classes. This means that classes may be enhanced or added to the framework without breaking other classes. These other classes may even be subclasses of the modified class. Thanks to this feature it's possible to create binary only extensions to the object model which won't break when the object model is updated. NOM allows to do object oriented programming with languages which are not designed as OO languages, e.g. C.

How to use NOM

Classes are described in an Interface Definition Language (IDL). An IDL compiler interprets the file and outputs binding and template files for the programming language in question. Right now only C is supported but other bindings are possible e.g. C++ or Pascal.

Getting the source

The source is available in the netlabs.org SVN repository. All development is done in the trunk atm.

You have to install a subversion client:

SET HOME=x:\my_home_dir

  • For Darwin you're set if you run OS X 10.5.x (Leopard). It comes with a svn client preinstalled.

For 10.4 (Tiger) get the client using Macports: sudo port install subversion. See the Darwin page for information about installing Macports.

  • For Linux you will find it among the development packages in more recent distros.
  • For FreeBSD see ports.

Create a working directory on your system, cd into it and check out the source. Note for OS/2: I strongly recommend to put the sources on the same drive your *nix tree is located.

svn co http://svn.netlabs.org/repos/voyager/nom/

This will get all the stuff including everything what's deprecated.

Building it

See this page for building it on OS/2.

See this page for building it on Darwin (OS X).

See this page for building it on Windows.

See this page for building it on Linux.

Last modified 15 years ago Last modified on Apr 13, 2009, 3:13:22 PM