FsStatusInfo
FsStatusInfo is called just as an information to the plugin that a certain operation starts or ends. It can be used to allocate/free buffers, and/or to flush data from a cache. There is no need to implement this function if the plugin doesn't require it.
Declaration:
void __stdcall FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
Description of parameters:
RemoteDir This is the current source directory when the operation starts. May be used to find out which part of the file system is affected.
InfoStartEnd Information whether the operation starts or ends. Possible values:
FS_STATUS_START Operation starts (allocate buffers if needed)
FS_STATUS_END Operation has ended (free buffers, flush cache etc)
InfoOperation Information of which operaration starts/ends. Possible values:
FS_STATUS_OP_LIST Retrieve a directory listing
FS_STATUS_OP_GET_SINGLE Get a single file from the plugin file system
FS_STATUS_OP_GET_MULTI Get multiple files, may include subdirs
FS_STATUS_OP_PUT_SINGLE Put a single file to the plugin file system
FS_STATUS_OP_PUT_MULTI Put multiple files, may include subdirs
FS_STATUS_OP_RENMOV_SINGLE Rename/Move/Remote copy a single file
FS_STATUS_OP_RENMOV_MULTI RenMov multiple files, may include subdirs
FS_STATUS_OP_DELETE Delete multiple files, may include subdirs
FS_STATUS_OP_ATTRIB Change attributes/times, may include subdirs
FS_STATUS_OP_MKDIR Create a single directory
FS_STATUS_OP_EXEC Start a single remote item, or a command line
FS_STATUS_OP_CALCSIZE Calculating size of subdir (user pressed SPACE)
FS_STATUS_OP_SEARCH Searching for file names only (using FsFindFirst/Next/Close)
FS_STATUS_OP_SEARCH_TEXT Searching for file contents (using also FsGetFile() calls)
FS_STATUS_OP_SYNC_SEARCH Synchronize dirs searches subdirs for info
FS_STATUS_OP_SYNC_GET Synchronize: Downloading files from plugin
FS_STATUS_OP_SYNC_PUT Synchronize: Uploading files to plugin
FS_STATUS_OP_SYNC_DELETE Synchronize: Deleting files from plugin
Please note that future versions of the framework may send additional values!
Return value:
This function doesn't return a value.
Important note:
This function has been added for the convenience of plugin writers. All calls to plugin functions will be enclosed in a pair of FsStatusInfo() calls: At the start,
FsStatusInfo(...,FS_STATUS_START,...) and when the operation is done
FsStatusInfo(...,FS_STATUS_END,...). Multiple plugin calls can be between these two calls. For example, a download may contain multiple calls to
FsGetFile(), and
FsFindFirst(),
FsFindNext(),
FsFindClose() (for copying subdirs).