Присоединить условие, связанное со сменой состояния
#include <ha/ham.h>ham_condition_t * ham_condition_state( ham_entity_t *ehdl,const char *cname,unsigned fromstate,unsigned tostate,unsigned flags );
libham
Данное условие срабатывает, когда указанный объект переходит из состояния fromstate в состояние tostate.
CONDSTATEANY можно использовать для указания подстановочного символа, означающего любое STATE. Сопоставление состояний основано либо на явном совпадении, либо на особых условиях, описанных в параметре flags.
Состояния могут быть заданы с помощью:
CONDSTATEANY Если fromstate или tostate ссылается на набор, должен быть установлен соответствующий флаг HCONDSTATEFROMSET или HCONDSTATETOSET.
Если необходимо, чтобы fromstate или tostate ссылались на логическое отрицание набора состояний, требуется определить HCONDSTATEFROMINV или HCONDSTATETOINV в flags. Это логически инвертировало бы указанный набор состояний (эквивалентно высказыванию «любое состояние, отличное от данного набора»).
/) или имеют значение NULL. Не удалось подключиться к HAM. Это происходит, когда процесс, открывший соединение (используя ham_connect()), и процесс, вызывающий ham_action_execute(), не совпадают. _POSIX_PATH_MAX (определено в <limits.h>). Обратите внимание, что общая длина имени объекта/условия/действия также ограничена _POSIX_PATH_MAX. В дополнение к вышеуказанным ошибкам HAM возвращает любую ошибку, с которой он сталкивается при обслуживании данного запроса.
ЗОСРВ «Нейтрино»
ham_condition(), ham_condition_raise(), ham_attach(), ham_attach_self(), ham_entity(), ham_entity_control(), ham_entity_handle(), ham_entity_handle_free(), ham_entity_node()
Предыдущий раздел: Менеджер высокой готовности (HAM)