macfuse

You are currently browsing articles tagged macfuse.

MPQFS is implemented in Objective-C in order to interface with MPQKit. However, because the FUSE user-space library (provided by MacFuse) is a C library, I had to write a thin wrapping layer to convert the C callback functions required by FUSE to Objective-C method invocations. This layer is simplistic enough that I had to disable multi-threading support in MPQFS (I’m not too sure of MPQKit’s thread safety status either).

Well today, a new MacFUSE release introduced an Objective-C framework with well-defined classes and protocols ready to be sub-classed (and delegated) to implement filesystems entirely in Objective-C. I may or may not adopt this framework in MPQFS (don’t change code that works), but I will certainly take a look at its implementation to see if I can improve my implementation in any ways.

I also recommend anyone using MPQFS to grab the new MacFUSE version. It has a short, but always appreciated, list of bug fixes.

Quick note to those interested by MPQFS. I’ve made available version 0.3.3 (0.3.2 was released silently earlier today). The two updates fix a small number of annoying issues, such as read-only files and folders copied from an MPQFS filesystem, and include a work around for a bug in Core Foundation which would result in a crash.

If you’re visiting the blog site, you’ll also notice the sidebar now includes a Downloads category. I’ll be adding direct download links to the latest version of my programs there in the coming days. I’ll also see if I can add a link to the appcast feed.

MPQFS 0.3 is now available. It is a small compatibility release that brings Leopard support. In addition, MPQFS was built for MacFUSE 1.0, which brings several enhancements to all FUSE filesystems and is required to run MPQFS 0.3. Finally, Sparkle has been integrated in the GUI wrapper for easy future updates.

Download MacFUSE from the MacFUSE website.
Download MPQFS 0.3.