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