#include <QtCrypto>
Public Member Functions | |
const char & | at (int index) const |
const char * | constData () const |
const char * | data () const |
bool | isEmpty () const |
bool | isNull () const |
bool | isSecure () const |
MemoryRegion (const MemoryRegion &from) | |
MemoryRegion (const QByteArray &from) | |
MemoryRegion (const char *str) | |
MemoryRegion & | operator= (const QByteArray &from) |
MemoryRegion & | operator= (const MemoryRegion &from) |
int | size () const |
QByteArray | toByteArray () const |
Protected Member Functions | |
char & | at (int index) |
char * | data () |
MemoryRegion (const QByteArray &from, bool secure) | |
MemoryRegion (int size, bool secure) | |
MemoryRegion (bool secure) | |
bool | resize (int size) |
void | set (const QByteArray &from, bool secure) |
void | setSecure (bool secure) |
This class is mostly unusable on its own. Either use it as a SecureArray subclass or call toByteArray() to convert to QByteArray.
Note that this class is implicitly shared (that is, copy on write).
QCA::MemoryRegion::MemoryRegion | ( | const char * | str | ) |
Constructs a new Memory Region from a null terminated character array.
str | pointer to the array of data to copy |
QCA::MemoryRegion::MemoryRegion | ( | const QByteArray & | from | ) |
Constructs a new MemoryRegion from the data in a byte array.
from | the QByteArray to copy from |
QCA::MemoryRegion::MemoryRegion | ( | const MemoryRegion & | from | ) |
QCA::MemoryRegion::MemoryRegion | ( | bool | secure | ) | [protected] |
QCA::MemoryRegion::MemoryRegion | ( | int | size, | |
bool | secure | |||
) | [protected] |
Create a memory region, optionally using secure storage.
size | the number of bytes in the memory region. | |
secure | if this is true, the memory region will use secure storage. |
QCA::MemoryRegion::MemoryRegion | ( | const QByteArray & | from, | |
bool | secure | |||
) | [protected] |
Create a memory region, optionally using secure storage.
This constructor variant allows you to initialize the memory region from an existing array.
from | the byte array to copy from. | |
secure | if this is true, the memory region will use secure storage. |
char& QCA::MemoryRegion::at | ( | int | index | ) | [protected] |
Obtain the value of the memory location at the specified position.
index | the offset into the memory region. |
Reimplemented in QCA::SecureArray.
const char& QCA::MemoryRegion::at | ( | int | index | ) | const |
Obtain the value of the memory location at the specified position.
index | the offset into the memory region. |
Reimplemented in QCA::SecureArray.
const char* QCA::MemoryRegion::constData | ( | ) | const |
Convert the contents of the memory region to a C-compatible character array.
This consists of size() bytes, followed by a null terminator.
data which is equivalent to this method
Reimplemented in QCA::SecureArray.
char* QCA::MemoryRegion::data | ( | ) | [protected] |
Convert the contents of the memory region to a C-compatible character array.
This consists of size() bytes, followed by a null terminator.
Reimplemented in QCA::SecureArray.
const char* QCA::MemoryRegion::data | ( | ) | const |
Convert the contents of the memory region to a C-compatible character array.
This consists of size() bytes, followed by a null terminator.
constData, which is equivalent to this method, but avoids the possibility that the compiler picks the wrong version.
Reimplemented in QCA::SecureArray.
bool QCA::MemoryRegion::isEmpty | ( | ) | const |
bool QCA::MemoryRegion::isNull | ( | ) | const |
Test if the MemoryRegion is null (i.e.
was created as a null array, and hasn't been resized).
This is probably not what you are trying to do. If you are trying to determine whether there are any bytes in the array, use isEmpty() instead.
bool QCA::MemoryRegion::isSecure | ( | ) | const |
Test if the MemoryRegion is using secure memory, or not.
In this context, memory is secure if it will not be paged out to disk.
MemoryRegion& QCA::MemoryRegion::operator= | ( | const QByteArray & | from | ) |
Standard assignment operator.
from | the QByteArray to copy from |
Reimplemented in QCA::SecureArray.
MemoryRegion& QCA::MemoryRegion::operator= | ( | const MemoryRegion & | from | ) |
bool QCA::MemoryRegion::resize | ( | int | size | ) | [protected] |
Resize the memory region to the specified size.
size | the new size of the region. |
Reimplemented in QCA::SecureArray.
void QCA::MemoryRegion::set | ( | const QByteArray & | from, | |
bool | secure | |||
) | [protected] |
Modify the memory region to match a specified byte array.
This resizes the memory region as required to match the byte array size.
from | the byte array to copy from. | |
secure | if this is true, the memory region will use secure storage. |
void QCA::MemoryRegion::setSecure | ( | bool | secure | ) | [protected] |
Convert the memory region to use the specified memory type.
This may involve copying data from secure to insecure storage, or from insecure to secure storage.
secure | if true, use secure memory; otherwise use insecure memory. |
int QCA::MemoryRegion::size | ( | ) | const |
QByteArray QCA::MemoryRegion::toByteArray | ( | ) | const |
Convert this memory region to a byte array.
Reimplemented in QCA::SecureArray.