13.1 Overview

Plugins that have the capability flag HWPLUG_CAPS_FILESYSADAPTER set can hook into Hollywood's filesystem handler. By doing that, they can take over operations like making directories, deleting files or directories, and setting file or directory attributes, among others. This allows plugins to do quite some magic, e.g. they could allow scripts to copy files or whole directories directly into a zip file using Hollywood's CopyFile() function if the zip plugin implements Hollywood's filesystem adapter interface. Scripts could also delete files or whole directories from zip files using Hollywood's DeleteFile() function or even move files from one zip file to another using MoveFile() etc. Filesystem adapters offer quite a powerful interface.

Note that filesystem adapters are usually combined with file and directory adapters because several features depend on each other. For example, the filesystem adapter API SetFSObjAttributes() is used to set file or directory attributes whereas the Stat() function of the file adapter API is used to get file or directory attributes. That's why it makes sense for filesystem adapters to also implement file and directory adapter interfaces. See File adapter plugins for details. See Directory adapter plugins for details.

Please note that filesystem adapters are not automatically initialized when Hollywood loads the plugin. Instead, you have to manually call hw_AddLoaderAdapter() in your RequirePlugin() function to activate the filesystem adapter. The filesystem adapter will then only be activated if the user calls @REQUIRE on your plugin. See Auto and manual plugin initialization for details. If you do not call hw_AddLoaderAdapter() on your filesystem adapter plugin, it will only be available if the user addresses it directly through the Adapter tag.

See hw_AddLoaderAdapter for information on how to add your filesystem adapter.

This plugin type is supported since Hollywood 10.0.


Show TOC