Документация
ОС Аврора 5.0.1

Класс MemoryRegion

Публичные функции

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 char *str)
MemoryRegion (const MemoryRegion &from)
MemoryRegion (const QByteArray &from)
MemoryRegion & operator= (const MemoryRegion &from)
MemoryRegion & operator= (const QByteArray &from)
int size () const
QByteArray toByteArray () const

Защищённые методы

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

Подробное описание

Массив байтов, который может быть дополнительно защищён.

Сам по себе этот класс в основном непригоден для использования. Следует либо использовать его как подкласс SecureArray, либо вызвать toByteArray() для преобразования в QByteArray.

Следует обратить внимание, что данный класс можно разделять между несколькими потоками исполнения, так как реализация основана на механизме копирования при записи.

Примеры

aes-cmac.cpp.

Описание конструкторов и деструктора

MemoryRegion() [1/6]

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

Создаёт новую область памяти из массива символов с завершающим нулём.

Параметры

str Указатель на массив данных для копирования

MemoryRegion() [2/6]

QCA::MemoryRegion::MemoryRegion (const QByteArray & from)

Создаёт новый MemoryRegion из данных в массиве байтов.

Параметры

from Объект QByteArray для копирования

MemoryRegion() [3/6]

QCA::MemoryRegion::MemoryRegion (const MemoryRegion & from)

Стандартный конструктор копирования.

Параметры

from Объект MemoryRegion для копирования

MemoryRegion() [4/6]

QCA::MemoryRegion::MemoryRegion (bool secure) protected

Создаёт область памяти, при необходимости используя безопасное хранилище.

Параметры

secure Если true, область памяти будет использовать безопасное хранилище

Примечание.

Метод создаст область памяти без какого-либо содержимого (т.е. как isNull(), так и isEmpty() вернут true.

MemoryRegion() [5/6]

QCA::MemoryRegion::MemoryRegion (int size, bool secure ) protected

Создаёт область памяти, при необходимости используя безопасное хранилище.

Параметры

size Количество байтов в области памяти.
secure Если true, область памяти будет использовать безопасное хранилище

MemoryRegion() [6/6]

QCA::MemoryRegion::MemoryRegion (const QByteArray & from, bool secure ) protected

Создаёт область памяти, при необходимости используя безопасное хранилище.

Этот вариант конструктора позволяет инициализировать область памяти из существующего массива.

Параметры

from Байтовый массив для копирования
secure Если true, область памяти будет использовать безопасное хранилище

Описание методов

operator=() [1/2]

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

Стандартный оператор присваивания.

Параметры

from Объект MemoryRegion для копирования

operator=() [2/2]

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

Стандартный оператор присваивания.

Параметры

from Объект QByteArray для копирования

isNull()

bool QCA::MemoryRegion::isNull () const

Проверяет, является ли MemoryRegion null (т.е.,

был создан как нулевой массив, и его размер не изменялся).

Вероятно, это не то, что приложение пытается узнать. Если нужно определить, есть ли в массиве байты, следует использовать вместо него isEmpty().

isSecure()

bool QCA::MemoryRegion::isSecure () const

Проверяет, использует ли MemoryRegion безопасную память или нет.

В этом контексте память безопасна, если она не выгружается на диск.

Возвращает true, если область памяти безопасна.

toByteArray()

QByteArray QCA::MemoryRegion::toByteArray () const

Преобразует эту область памяти в массив байтов.

Примечание.

Метод сделает защищённые данные небезопасными.

См. также data() и constData() для других способов преобразования в «доступный» формат.

Примеры

saslclient.cpp.

isEmpty()

bool QCA::MemoryRegion::isEmpty () const

Возвращает true, если размер области памяти равен нулю.

size()

int QCA::MemoryRegion::size () const

Возвращает количество байтов в области памяти.

data() [1/2]

const char* QCA::MemoryRegion::data () const

Преобразует содержимое области памяти в C-совместимый символьный массив.

Область состоит из байтов size(), за которыми следует нулевой терминатор.

См. также toByteArray для альтернативного подхода.

constData, который эквивалентен этому методу, но исключает вероятность того, что компилятор выберет неправильную версию.

constData()

const char* QCA::MemoryRegion::constData () const

Преобразует содержимое области памяти в C-совместимый символьный массив.

Область состоит из байтов size(), за которыми следует нулевой терминатор.

См. также toByteArray для альтернативного подхода.

data, который эквивалентен этому методу.

at() [1/2]

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

Получает значение ячейки памяти в указанной позиции.

Параметры

index Смещение в области памяти

Примечание.

Содержимое области памяти находится в диапазоне от 0 до size()-1. Контент в позиции size() всегда является нулевым ограничителем.

data() [2/2]

char* QCA::MemoryRegion::data () protected

Преобразует содержимое области памяти в C-совместимый символьный массив.

Область состоит из байтов size(), за которыми следует нулевой терминатор.

at() [2/2]

char& QCA::MemoryRegion::at (int index) protected

Получает значение ячейки памяти в указанной позиции.

Параметры

index Смещение в области памяти

Примечание.

Содержимое области памяти находится в диапазоне от 0 до size()-1. Контент в позиции size() всегда является нулевым ограничителем.

resize()

bool QCA::MemoryRegion::resize (int size) protected

Изменяет размер области памяти до указанного размера.

Параметры

size Новый размер области

set()

void QCA::MemoryRegion::set (const QByteArray & from, bool secure ) protected

Изменяет область памяти в соответствии с указанным массивом байтов.

Метод изменяет размер области памяти в соответствии с размером массива байтов.

Параметры

from Байтовый массив для копирования
secure Если true, область памяти будет использовать безопасное хранилище

setSecure()

void QCA::MemoryRegion::setSecure (bool secure) protected

Преобразует область памяти для использования указанного типа памяти.

Метод может выполнять копирование данных из безопасного хранилища в небезопасное или из небезопасного в безопасное.

Параметры

secure Если true, использует безопасную память; в противном случае использует небезопасную память

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.