2 #ifndef _QICORE_FILE_HPP_
3 #define _QICORE_FILE_HPP_
13 #include <qi/anyobject.hpp>
14 #include <qi/path.hpp>
15 #include <qi/future.hpp>
16 #include <qi/buffer.hpp>
17 #include <qi/property.hpp>
19 #include <boost/shared_ptr.hpp>
59 virtual bool isRunning()
const = 0;
61 virtual Future<void> waitForFinished() = 0;
69 virtual void reset() = 0;
74 virtual void notifyRunning() = 0;
79 virtual void notifyFinished() = 0;
84 virtual void notifyCanceled() = 0;
89 virtual void notifyFailed() = 0;
100 virtual void notifyProgressed(
double newProgress) = 0;
105 QI_API_DEPRECATED_MSG(Use
'reset' instead)
virtual void _reset() = 0;
106 QI_API_DEPRECATED_MSG(Use
'notifyRunning' instead)
virtual void _notifyRunning() = 0;
107 QI_API_DEPRECATED_MSG(Use
'notifyFinished' instead)
virtual void _notifyFinished() = 0;
108 QI_API_DEPRECATED_MSG(Use
'notifyCanceled' instead)
virtual void _notifyCanceled() = 0;
109 QI_API_DEPRECATED_MSG(Use
'notifyFailed' instead)
virtual void _notifyFailed() = 0;
110 QI_API_DEPRECATED_MSG(Use
'notifyProgressed' instead)
virtual void _notifyProgressed(
double newProgress) = 0;
133 virtual ~
File() =
default;
137 virtual std::streamsize size()
const = 0;
140 virtual bool isOpen()
const = 0;
143 virtual bool isRemote()
const = 0;
156 static const std::streamsize MAX_READ_SIZE = 1000000;
169 virtual Buffer read(std::streamsize countBytesToRead) = 0;
185 virtual Buffer read(std::streamoff beginOffset, std::streamsize countBytesToRead) = 0;
194 virtual bool seek(std::streamoff offsetFromBegin) = 0;
201 virtual void close() = 0;
206 QI_API_DEPRECATED_MSG(Use
'read' instead)
virtual Buffer _read(std::streamsize countBytesToRead) = 0;
207 QI_API_DEPRECATED_MSG(Use
'read' instead)
virtual Buffer _read(std::streamoff beginOffset, std::streamsize countBytesToRead) = 0;
208 QI_API_DEPRECATED_MSG(Use
'seek' instead)
virtual bool _seek(std::streamoff offsetFromBegin) = 0;
209 QI_API_DEPRECATED_MSG(Use
'close' instead)
virtual void _close() = 0;
229 #include <qicore/detail/fileoperation.hxx>
231 #endif // _QI_FILE_HPP_