Pascal's TechBlog

Thursday, August 11, 2005

Mono, ClamAV and P/Invoke

I've recently been doing some Mono/C# coding. Mono is actually very nice. It makes building GTK+/GNOME applications very easy. Complement it with Glade, and suddenly I don't miss Delphi all that much...

I also finally found a project worth pursueing... I noticed that there doesn't seem to be a GNOME interface for the excellent ClamAV.

So I'm basically going to try to build a GNOME VirusScanning application, which uses ClamAV as it's scanning engine. I've been reading up on the GNOME Human Interface Guidelines, well, a little, and I'm going to try to adhere to them.

First things first, I needed to call libclamav from within Mono, and build an object oriented wrapper around that. Now Mono has a feature for that called P/Invoke, which is actually quite easy, but it does take some getting used to.

I really need to thank Jonathan Pryor for his help regarding P/Invoke and Marshalling.

Anyway sofar, I have a simple object oriented wrapper for libclamav working, but I'm not entirely happy with the API and the way it handles exceptions...

But it's a start... More soon...


Post a Comment

<< Home