Content here is by:
Michael Still
mikal@stillhq.com

All my Open Source projects
Extracted view of CVS
Home
Site map

See recent comments. RSS feed of all comments. Raw dump of all comments for research purposes.

ImageMagick book
MythTV book








I am the author of a C library called Panda. It has about 100 exported functions, and I had a need to produce a C++ wrapper for the library... I didn't really want to manually maintain a C++ version of the headers, so I wrote objectify, which is a simple perl script which will do it for me.

An example:
The first step is to make sure that objectify knows which methods and classes to export. You do this by defining two empty macros:
#define SUPPRESS(x)
#define INTERNAL
SUPPRESS means that the class x wont be exported, whilst INTERNAL stops the specific method listed from being exported. For example:
SUPPRESS(panda_object)

INTERNAL  void panda_dbopen (panda_pdf *);
INTERNAL  void panda_dbclose (panda_pdf *);
INTERNAL  void panda_dbwrite (panda_pdf *, char *, char *);
INTERNAL  char *panda_dbread (panda_pdf *, char *);
Objectify will then go through the header, and use the pointers which are passed around to determine what is a class and what isn't... stdout will be the header, stderr is a log of what objectify did...


The latest code for Objectify can be found in my online CVS server here.


Mon, 09 Jun 2003



Objectify 0.3

    Objectify 0.3 can now generate command line interfaces based on a flex lexer, and a yacc grammar. Sorta cool. You can grab the sourcecode from here and a signature from here.

posted at: 07:00 | path: /objectify | permanent link to this entry


Wed, 28 Aug 2002



Objectify 0.2

    This release fixes a bug where way too many methods were included under the parent class. We now also generate IDL on demand (although the IDL has not been completely tested yet). Get the code here.

posted at: 07:00 | path: /objectify | permanent link to this entry


Sat, 17 Aug 2002



Objectify 0.1

    Is now available. You'll need this tarball, which contains the perl script, a sample Makefile, and some sample code...

posted at: 07:00 | path: /objectify | permanent link to this entry