IFileOperation provides virtual member functions which may be overridden to provide customized error handling and progress indicators
Do not derive your own classes from this class.
Construct or destruct file operation objects.
![]() |
public:
virtual ~IFileOperation()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
IFileOperation()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
protected:
IFileOperation( EFailureAction action, unsigned int tellMeTimes )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
The functions in this group provide access to member functions.
![]() |
public:
EFailureAction failureAction() const
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
unsigned int reportFrequency() const
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
void setFailureAction(EFailureAction actionOnFailure)
Windows | OS/2 | AIX |
Yes | Yes | Yes |
This group contains callback functions that handle periodic or special operations.
![]() |
public:
virtual bool handleFailure( const IException& reason, const IFileSystemEntity& current )
This member function is called if the operation fails for some reason other than a name conflict. The exception is passed in, along with the entity that caused the failure.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
virtual bool renameNeeded( IFileName& modifyThisName, const IFileSystemEntity& currentEntity )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
virtual bool reportProgress( double fractionDone, const IFileSystemEntity& currentEntity )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
The functions in this group are provided to be overridden by subclasses.
![]() |
protected:
virtual IDirectory doOneDirectory( const IDirectory& dir, IDirectory& dest, const IFileName& newName )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
virtual IFileSystemEntity doOneEntity( const IFileSystemEntity& entity, IDirectory& target, const IFileName& newName ) = 0
Subclasses must override this function to perform whatever action is desired for each entity affected by the operation. For example, a move operation uses this function to move the file to the destination directory.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
IFileSystemEntity execute( const IFileSystemEntity& entity, IDirectory& target, const IFileName& newName )
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
virtual void postProcess( IFileSystemEntity& source, IFileSystemEntity& result )
This is called after doOneEntity has been called for an entity and all of its children. It can be used to perform any necessary cleanup actions, such as deleting the original entity after a move operation.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
enum EFailureAction { kContinue, kStop }
kStop throws the exception immediately.
kContinue attempts to complete the operation on all remaining entities, and only then throws the exception.
Windows | OS/2 | AIX |
Yes | Yes | Yes |