Fix build under Android platform >= 24
This alters the ABI but it is ok since with that config a build was previously impossible anyways.
This commit is contained in:
parent
789af62d97
commit
da0cf4ff29
|
@ -143,7 +143,9 @@ NativeFileStream::NativeFileStream()
|
||||||
NativeFileStream::NativeFileStream(NativeFileStream &&other)
|
NativeFileStream::NativeFileStream(NativeFileStream &&other)
|
||||||
: iostream(other.m_filebuf.release())
|
: iostream(other.m_filebuf.release())
|
||||||
, m_filebuf(rdbuf())
|
, m_filebuf(rdbuf())
|
||||||
|
#if !defined(__ANDROID_API__) || !defined(__ANDROID_API_N__) || (__ANDROID_API__ < __ANDROID_API_N__)
|
||||||
, m_fileHandle(other.m_fileHandle)
|
, m_fileHandle(other.m_fileHandle)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,9 @@ public:
|
||||||
void open(const std::string &path, std::ios_base::openmode openMode);
|
void open(const std::string &path, std::ios_base::openmode openMode);
|
||||||
void openFromFileDescriptor(int fileDescriptor, std::ios_base::openmode openMode);
|
void openFromFileDescriptor(int fileDescriptor, std::ios_base::openmode openMode);
|
||||||
void close();
|
void close();
|
||||||
|
#if !defined(__ANDROID_API__) || !defined(__ANDROID_API_N__) || (__ANDROID_API__ < __ANDROID_API_N__)
|
||||||
FILE fileHandle();
|
FILE fileHandle();
|
||||||
|
#endif
|
||||||
|
|
||||||
static std::unique_ptr<std::basic_streambuf<char>> makeFileBuffer(const std::string &path, ios_base::openmode openMode);
|
static std::unique_ptr<std::basic_streambuf<char>> makeFileBuffer(const std::string &path, ios_base::openmode openMode);
|
||||||
static std::unique_ptr<std::basic_streambuf<char>> makeFileBuffer(int fileDescriptor, ios_base::openmode openMode);
|
static std::unique_ptr<std::basic_streambuf<char>> makeFileBuffer(int fileDescriptor, ios_base::openmode openMode);
|
||||||
|
@ -40,7 +42,9 @@ private:
|
||||||
void setFileBuffer(std::unique_ptr<std::basic_streambuf<char>> buffer);
|
void setFileBuffer(std::unique_ptr<std::basic_streambuf<char>> buffer);
|
||||||
|
|
||||||
std::unique_ptr<std::basic_streambuf<char>> m_filebuf;
|
std::unique_ptr<std::basic_streambuf<char>> m_filebuf;
|
||||||
|
#if !defined(__ANDROID_API__) || !defined(__ANDROID_API_N__) || (__ANDROID_API__ < __ANDROID_API_N__)
|
||||||
FILE m_fileHandle;
|
FILE m_fileHandle;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
inline NativeFileStream::NativeFileStream(const std::string &path, ios_base::openmode openMode)
|
inline NativeFileStream::NativeFileStream(const std::string &path, ios_base::openmode openMode)
|
||||||
|
@ -55,6 +59,7 @@ inline NativeFileStream::NativeFileStream(int fileDescriptor, ios_base::openmode
|
||||||
openFromFileDescriptor(fileDescriptor, openMode);
|
openFromFileDescriptor(fileDescriptor, openMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(__ANDROID_API__) || !defined(__ANDROID_API_N__) || (__ANDROID_API__ < __ANDROID_API_N__)
|
||||||
/*!
|
/*!
|
||||||
* \brief Returns the underlying file handle if possible; otherwise the behaviour is undefined.
|
* \brief Returns the underlying file handle if possible; otherwise the behaviour is undefined.
|
||||||
* \deprecated Not implemented for any backend and will be removed in v5.
|
* \deprecated Not implemented for any backend and will be removed in v5.
|
||||||
|
@ -64,6 +69,7 @@ inline FILE NativeFileStream::fileHandle()
|
||||||
{
|
{
|
||||||
return m_fileHandle;
|
return m_fileHandle;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#else // CPP_UTILITIES_USE_NATIVE_FILE_BUFFER
|
#else // CPP_UTILITIES_USE_NATIVE_FILE_BUFFER
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue