QCA::MemoryRegion Class Reference

Array of bytes that may be optionally secured. More...

#include <QtCrypto>

Inheritance diagram for QCA::MemoryRegion:

QCA::SecureArray QCA::InitializationVector QCA::SymmetricKey Collaboration diagram for QCA::MemoryRegion:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MemoryRegion (const char *str)
 MemoryRegion (const QByteArray &from)
 MemoryRegion (const MemoryRegion &from)
MemoryRegionoperator= (const MemoryRegion &from)
MemoryRegionoperator= (const QByteArray &from)
bool isNull () const
bool isSecure () const
QByteArray toByteArray () const
bool isEmpty () const
int size () const
const char * data () const
const char * constData () const
const char & at (int index) const

Protected Member Functions

 MemoryRegion (bool secure)
 MemoryRegion (int size, bool secure)
 MemoryRegion (const QByteArray &from, bool secure)
char * data ()
char & at (int index)
bool resize (int size)
void set (const QByteArray &from, bool secure)
void setSecure (bool secure)

Detailed Description

Array of bytes that may be optionally secured.

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).

Examples:

aes-cmac.cpp.


Constructor & Destructor Documentation

QCA::MemoryRegion::MemoryRegion const char *  str  ) 
 

Constructs a new Memory Region from a null terminated character array.

Parameters:
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.

QCA::MemoryRegion::MemoryRegion const MemoryRegion from  ) 
 

Standard copy constructor.

QCA::MemoryRegion::MemoryRegion bool  secure  )  [protected]
 

Create a memory region, optionally using secure storage.

Parameters:
secure if this is true, the memory region will use secure storage.
Note:
This will create a memory region without any content (i.e. both isNull() and isEmpty() will return true.

QCA::MemoryRegion::MemoryRegion int  size,
bool  secure
[protected]
 

Create a memory region, optionally using secure storage.

Parameters:
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.

Parameters:
from the byte array to copy from.
secure if this is true, the memory region will use secure storage.


Member Function Documentation

MemoryRegion& QCA::MemoryRegion::operator= const MemoryRegion from  ) 
 

Standard assignment operator.

MemoryRegion& QCA::MemoryRegion::operator= const QByteArray from  ) 
 

Standard assignment operator.

Reimplemented in QCA::SecureArray.

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.

Returns:
true if the memory region is secure

QByteArray QCA::MemoryRegion::toByteArray  )  const
 

Convert this memory region to a byte array.

Note:
For secure data, this will make it insecure
See also:
data() and constData() for other ways to convert to an "accessible" format.

Reimplemented in QCA::SecureArray.

bool QCA::MemoryRegion::isEmpty  )  const
 

Returns true if the size of the memory region is zero.

Reimplemented in QCA::SecureArray.

int QCA::MemoryRegion::size  )  const
 

Returns the number of bytes in the memory region.

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.

See also:
toByteArray for an alternative approach.

constData, which is equivalent to this method, but avoids the possibility that the compiler picks the wrong version.

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.

See also:
toByteArray for an alternative approach.

data which is equivalent to this method

Reimplemented in QCA::SecureArray.

const char& QCA::MemoryRegion::at int  index  )  const
 

Obtain the value of the memory location at the specified position.

Parameters:
index the offset into the memory region.
Note:
The contents of a memory region are between 0 and size()-1. The content at position size() is always a null terminator.

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.

char& QCA::MemoryRegion::at int  index  )  [protected]
 

Obtain the value of the memory location at the specified position.

Parameters:
index the offset into the memory region.
Note:
The contents of a memory region are between 0 and size()-1. The content at position size() is always a null terminator.

Reimplemented in QCA::SecureArray.

bool QCA::MemoryRegion::resize int  size  )  [protected]
 

Resize the memory region to the specified size.

Parameters:
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.

Parameters:
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.

Parameters:
secure if true, use secure memory; otherwise use insecure memory.


The documentation for this class was generated from the following file:
Generated on Fri Jul 6 12:15:49 2007 for Qt Cryptographic Architecture by  doxygen 1.4.6