## Introduction to MateVFS

## Uses and Purpose

MateVFS is a filesystem abstraction library allowing applications plugable transparent access to a variety of "real" filesystems, from WebDAV to digital cameras, to the local filesystem. It also contains a number of other convenient file utilities such as a comphrehensive MIME database / Application registry, and a copy engine. Use of MateVFS ensures that an application or component will be usable by Caja or other MateVFS applications for handling the display of data from various URIs, as well

### User's Perspective

From a user's perspective MateVFS enabled applications provide consistent access to their data, whether it be stored on remote servers or on their local harddisk, or even a peripheral device such as a Rio or a digital camera. Rather than having to work around the distinction between storage you can work off of and storage you can only "download" from or "upload" to, MateVFS allows users to store their documents and data wherever it is most convenient.

### Developer's Perspective

Besides providing transparent access to data methods that you might otherwise have to implement, MateVFS provides a number of convenience libraries for processing URIs, detecting the MIME type of files, and even figuring out which applications or components to launch to view a file or what icon to use. Writing a MateVFS module may also be an appropriate solution to some data access problems as it allows the developer to implement a relatively small number of functions to gain general filesystem semantics (and of course, writing a MateVFS module benefits other applications too!).