Seth Nickell


    
  

Christophe Fergeau


    
  

Christian Neumair


    
  

for MateVFS 1.4.0

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".


Introduction to MateVFS
Uses and Purpose
User's Perspective
Developer's Perspective
A Gentle Programming Primer
Simple Sample Program
Conversion of a Sample Code Block
Initialization/Shutdown
Basic Data Types
MateVFSResult — Result of I/O operations, the equivalent of errno
MateVFSURI — A uniform resource identifier.
mate-vfs-utils — various utilities functions to manipulate uris
MateVFSFileInfo — stores information about files, MateVFS equivalent of stat
MateVFSFileSize — Data types used for specifying file sizes and seek positions
File Operations
Basic File Operations — Essential VFS operations. This includes creating, moving and deleting files, opening and closing file handles.
Reading and Writing Files — Reading from and writing to open file handles.
Truncating Files — Force files to a particular length
Getting and Setting File Information — Convenient high-level abstraction for obtaining and setting file information, including ACLs.
Directory-Specific Operations
Basic Directory Operations — Creating and removing directories.
Listing Directory Contents — Listing the contents of directories.
Locating Standard Directories — Utilities for locating standard directories such as the desktop and trash
Advanced File/Directory Operations
File Transfers — Conveniently copy/move/delete files en masse
Monitoring — watch files for changes, and get called back if they do
Backend-Specific Operations — Execute backend-specific operations
Asynchronous Operations
Asynchronous File Operations — POSIX-style file operations that run outside your main loop
Cancellation — halt in-progress operations
Volumes and Drives Handling
MateVFSVolume — Abstraction for a mounted file system or a network location.
MateVFSDrive — Container for MateVFSVolume (floppy drive, CD reader, ...)
MateVFSVolumeMonitor — Monitors volume mounts and unmounts
Networking
Zeroconf networking support — Gets information about available Zeroconf (aka RendezVous™) services on a local network.
DNS Resolution — Generic thread-safe address resolution functions.
SSL support functions — Functions to send and receive encrypted data over a socket.
Unified network I/O — Posix style network input/output functions.
Unified bufferd network I/O — Posix style buffered network input/output.
Internet connection — Simple TCP/IP connection functions.
MIME Registry
MIME typing — functions to get a mime-type for a file using its name or its content
mate-vfs-mime-utils
MIME Database — functions for getting information about applications and components associated with MIME types.
mate-vfs-mime-monitor
mate-vfs-mime-database-deprecated
Deprecated Application Registry API — formerly used for managing applications. Replaced by MateVFS MIME Database API
Filesystem Modules
Writing Modules — basic mate-vfs module concepts
mate-vfs-method
mate-vfs-module
mate-vfs-module-shared
mate-vfs-module-callback-module-api — invoking callbacks from a mate-vfs module to ask the application for necessary information (authentication, ...)
MateVFSContext — contexts allows modules to track thread usage and cancellation properly
mate-vfs-transform
mate-vfs-parse-ls — convenience functions for modules which want to parse a ls-like directory listing
mate-vfs-standard-callbacks — standard callbacks for use by mate-vfs module writers
mate-vfs-module-callback — functions used by apps if they want to answer to callback invocations by mate-vfs modules