IStatus
Интерфейс IStatus — заменяет ISC_STATUS_ARRAY. Функциональностьрасширена — статус имеет отдельный доступ к векторам ошибок ипредупреждений, может содержать векторы неограниченной длины,самостоятельно хранит строки, используемые в векторах, не имеетнеобходимости в кольцевом буфере строк. В C++ IStatus всегдаиспользуется в оболочке состояния, C++ API предоставляет две разныеоболочки, имеющие различное поведение, когда ошибка возвращается извызова API. Интерфейс сведен к минимуму (методы, такие какпреобразование его в текст, перемещены в интерфейсIUtil), чтобы упростить его реализациюпользователями при необходимости.
-
init
void init()очищает интерфейс, устанавливая его в исходное состояние.
-
getState
unsigned getState()возвращает текущее состояние интерфейса, возвращаемые флаги могут бытьобъединены с помощью
OR. -
setErrors2
void setErrors2(unsigned length, const intptr_t* value)устанавливает содержимое вектора ошибок с длиной, явно указанной ввызове.
-
setWarnings2
void setWarnings2(unsigned length, const intptr_t* value)устанавливает содержимое вектора предупреждений с длиной, явно указаннойв вызове.
-
setErrors
void setErrors(const intptr_t* value)устанавливает содержимое вектора ошибок, длина определяется контекстомзначения.
-
setWarnings
void setWarnings(const intptr_t* value)устанавливает содержимое вектора предупреждений, длина определяетсяконтекстом значения.
-
getErrors
const intptr_t* getErrors()возвращает вектор ошибок.
-
getWarnings
const intptr_t* getWarnings()возвращает вектор предупреждений.
-
clone
IStatus* clone()создаёт клон текущего интерфейса.
Константы определённые в IStatus
Флаги, возвращаемые методом getState():
-
STATE_WARNINGS -
STATE_ERRORS
Коды завершения:
-
RESULT_ERROR -
RESULT_OK -
RESULT_NO_DATA -
RESULT_SEGMENT