BDataIO: Add Flush()
This commit is contained in:
parent
60ccc119b0
commit
b773d89eba
@ -102,8 +102,24 @@
|
||||
|
||||
|
||||
/*!
|
||||
\fn virtual status_t BDataIO::ReadExactly(void* buffer, size_t size,
|
||||
size_t* _bytesRead)
|
||||
\fn virtual status_t BDataIO::Flush()
|
||||
\brief Writes pending data to underlying storage.
|
||||
|
||||
This method is relevant for BDataIO implementations that buffer data passed
|
||||
to Write(). The Flush() implementation should make sure that all such data
|
||||
are written to the underlying storage.
|
||||
|
||||
The default implementation is a no-op returning \c B_OK.
|
||||
|
||||
\return An error code indicating whether flushing the buffered data
|
||||
succeeded.
|
||||
|
||||
\since Haiku R1
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
\fn virtual status_t BDataIO::ReadExactly(void* buffer, size_t size, size_t* _bytesRead)
|
||||
\brief Reads an exact amount of data from the object into a buffer.
|
||||
|
||||
This is a convenience wrapper method for Read() for code that expects the
|
||||
|
@ -17,6 +17,8 @@ public:
|
||||
virtual ssize_t Read(void* buffer, size_t size);
|
||||
virtual ssize_t Write(const void* buffer, size_t size);
|
||||
|
||||
virtual status_t Flush();
|
||||
|
||||
status_t ReadExactly(void* buffer, size_t size,
|
||||
size_t* _bytesRead = NULL);
|
||||
status_t WriteExactly(const void* buffer, size_t size,
|
||||
@ -26,7 +28,6 @@ private:
|
||||
BDataIO(const BDataIO&);
|
||||
BDataIO& operator=(const BDataIO&);
|
||||
|
||||
virtual void _ReservedDataIO1();
|
||||
virtual void _ReservedDataIO2();
|
||||
virtual void _ReservedDataIO3();
|
||||
virtual void _ReservedDataIO4();
|
||||
|
@ -40,6 +40,13 @@ BDataIO::Write(const void* buffer, size_t size)
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
BDataIO::Flush()
|
||||
{
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
BDataIO::ReadExactly(void* buffer, size_t size, size_t* _bytesRead)
|
||||
{
|
||||
@ -116,8 +123,32 @@ BDataIO::operator=(const BDataIO &)
|
||||
}
|
||||
|
||||
|
||||
#if __GNUC__ == 2
|
||||
|
||||
|
||||
extern "C" status_t
|
||||
_ReservedDataIO1__7BDataIO(BDataIO* self)
|
||||
{
|
||||
return self->BDataIO::Flush();
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
|
||||
|
||||
// TODO: RELEASE: Remove!
|
||||
|
||||
extern "C" status_t
|
||||
_ZN7BDataIO16_ReservedDataIO1Ev(BDataIO* self)
|
||||
{
|
||||
return self->BDataIO::Flush();
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// FBC
|
||||
void BDataIO::_ReservedDataIO1(){}
|
||||
void BDataIO::_ReservedDataIO2(){}
|
||||
void BDataIO::_ReservedDataIO3(){}
|
||||
void BDataIO::_ReservedDataIO4(){}
|
||||
|
Loading…
x
Reference in New Issue
Block a user