Класс объектов Инструмента управления системой (SMIT), создаваемый с помощью Администратора объектных данных (ODM), определяет общий формат или тип данных для всех объектов, представляющих собой экземпляры данного объектного класса. Следовательно, объектный класс SMIT - это, в основном, тип данных, а объект SMIT - конкретная запись этого типа.
Меню, списки вариантов и окна диалогов SMIT описываются объектами, представляющими собой экземпляры одного из четырех объектных классов:
В приведенной ниже таблице
перечислены объекты, применяемые для создания различных типов окон:
Классы SMIT | ||
Тип окна | Класс объектов | Использование объекта (типичный случай) |
Меню | sm_menu_opt | 1 для заголовка окна |
| sm_menu_opt | 1 для первого элемента |
| sm_menu_opt | 1 для второго элемента |
| ... | ... |
| sm_menu_opt | 1 для последнего элемента |
Список вариантов | sm_name_hdr | 1 для заголовка окна и других атрибутов |
| sm_cmd_opt | 1 для поля ввода и всплывающего списка |
Окно диалога | sm_cmd_hdr | 1 для заголовка окна и командной строки |
| sm_cmd_opt | 1 для первого поля ввода |
| sm_cmd_opt | 1 для второго поля ввода |
| ... | ... |
| sm_cmd_opt | 1 для последнего поля ввода |
Каждый объект состоит из последовательности именованных полей и связанных с ними значений. Эта последовательность задается в ASCII-файлах настройки, которые могут применяться командой odmadd для инициализации или расширения баз данных SMIT. Разделы в файле должны быть отделены друг от друга одной или несколькими пустыми строками.
Примечание: Комментарии в файле ввода ODM (ASCII-файле настройки), используемом командой odmadd, должны находиться в строке, содержащей в первой позиции символ # (знак фунта) или * (звездочку). Комментарий, начинающийся со звездочки (*), может находиться в строке раздела описания, но должен стоять после значения дескриптора.
Ниже приведен пример раздела описания объекта sm_menu_opt:
sm_menu_opt: *имя класса объектов id = "top_menu" *имя (окна меню) объекта id_seq_num = "050" next_id = "commo" *id объектов для следующего окна меню text = "Приложения и службы & связи" text_msg_file = "" text_msg_set = 0 text_msg_id = 0 next_type = "m" *next_id для определения другого меню alias = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
Для описания значений полей объекта обычно применяется запись в формате класс-объектов.дескриптор. Например, в предыдущем примере описания объекта sm_menu_opt значение sm_menu_opt.id равно top_menu.
Подробное описание каждого из полей класса объектов sm_menu_opt приведено в разделе Класс объектов sm_menu_opt (меню SMIT).
Ниже приведен пример раздела описания объекта sm_name_hdr:
sm_name_hdr: *---- применяется в списках вариантов id = "" *имя данного (текущего) окна списка вариантов next_id = "" *следующий sm_name_hdr или sm_cmd_hdr option_id = "" *определяет один связанный sm_cmd_opt has_name_select = "" name = "" *заголовок данного окна name_msg_file = "" name_msg_id = 0 type = "" ghost = "" cmd_to_classify = "" cmd_to_classify_postfix = "" raw_field_name = "" cooked_field_name = "" next_type = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
Подробное описание всех полей класса объектов sm_name_hdr приведено в разделе Класс объектов sm_name_hdr (заголовок списков вариантов SMIT).
Ниже приведен пример раздела описания объекта sm_cmd_hdr:
sm_cmd_hdr: *---- применяется в списках вариантов id = "" *имя данного (текущего) окна диалога option_id = "" *определяет связанный набор объектов sm_cmd_opt has_name_select = "" name = "" *заголовок данного окна name_msg_file = "" name_msg_set = 0 name_msg_id = 0 cmd_to_exec = "" ask = "" exec_mode = "" ghost = "" cmd_to_discover = "" cmd_to_discover_postfix = "" name_size = 0 value_size = 0 help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
Подробное описание всех полей класса объектов sm_cmd_hdr приведено в разделе Класс объектов sm_cmd_hdr (заголовок окна диалога SMIT).
Ниже приведен пример раздела описания объекта sm_cmd_opt:
sm_cmd_opt: *---- применяется для списков вариантов и окон диалогов id = "" *имя данного объекта id_seq_num = "" *"0" для окна списка вариантов disc_field_name = "" name = "" *текст описания данного поля ввода name_msg_file = "" name_msg_set = 0 name_msg_id = 0 op_type = "" entry_type = "" entry_size = 0 required = "" prefix = "" cmd_to_list_mode = "" cmd_to_list = "" cmd_to_list_postfix = "" multi_select = "" value_index = 0 disp_values = "" values_msg_file = "" values_msg_set = 0 values_msg_id = 0 aix_values = "" help_msg_id = "" help_msg_loc = "" help_msg_base = "" help_msg_book = ""
Подробное описание всех полей класса объектов sm_cmd_opt приведено в разделе Класс объектов sm_cmd_opt (опции команд окна диалога/списка вариантов SMIT).
Во всех объектах SMIT предусмотрено поле id, содержащее имя, по которому можно найти данный объект. Для поиска объектов sm_menu_opt, представляющих заголовки меню, применяется поле next_id. Для объектов sm_menu_opt и sm_name_hdr задаются поля next_id, указывающие на поля id других объектов. Именно таким образом реализованы связи между окнами в базе данных SMIT. Аналогично, в объектах sm_name_hdr и sm_cmd_hdr есть поле option_id, которое указывает на поля id связанных с ними объектов sm_cmd_opt.
Один и тот же объект sm_cmd_opt может применяться несколькими окнами диалогов, поскольку для поиска объектов с одинаковыми значениями полей sm_cmd_opt.id SMIT использует оператор ODM LIKE. SMIT разрешает указывать в поле sm_cmd_hdr.option_id до пяти идентификаторов (разделенных запятыми), поэтому с объектом sm_cmd_hdr можно связывать объекты sm_cmd_opt, которым присвоено любое из пяти значений поля sm_cmd_opt.id.
Из приведенной ниже таблицы видно, каким образом значение поля sm_cmd_hdr.option_id связано со значениями полей sm_cmd_opt.id и sm_cmd_opt.id_seq_num.
Примечание: Значения полей sm_cmd_opt.id_seq_num применяются для сортировки объектов, восстанавливаемых из хранилища для открываемого окна.
Объекты SMIT | ||
ИД объектов, которые должны быть восстановлены (sm_cmd_hdr.option_id) | Восстановленные объекты (sm_cmd_opt.id) | Последовательность восстановленных объектов в окне (sm_cmd_opt.id_seq_num) |
"demo.[AB]" | "demo.A" | "10" |
| "demo.B" | "20" |
| "demo.A" | "30" |
| "demo.A | "40" |
"demo.[ACD]" | "demo.A" | "10" |
| "demo.C" | "20" |
| "demo.A" | "30" |
| "demo.A" | "40" |
| "demo.D" | "50" |
"demo.X,demo.Y,demo.Z" | "demo.Y" | "20" |
| "demo.Z" | "40" |
| "demo.X" | "60" |
| "demo.X" | "80" |
Объекты SMIT генерируются с помощью средств создания ODM и хранятся в файлах заданной базы данных. По умолчанию база данных SMIT состоит из восьми файлов:
По умолчанию для хранения файлов применяется каталог /usr/lib/objrepos. Файлы всегда должны сохраняться и восстанавливаться согласованно.
Глава 25, Инструмент управления системой (SMIT)
Типы окон SMIT , Псевдонимы и команды быстрого доступа SMIT , Дескрипторы информационных команд SMIT и Создание и выполнение команд SMIT
Добавление задач в базу данных SMIT , Отладка расширений базы данных SMIT , Создание справки по новой задаче SMIT
Глава 17, Администратор объектных данных (ODM)
Класс объектов sm_cmd_hdr (заголовок окна диалога SMIT) , Класс объектов sm_cmd_opt (опции команд окна диалога/списка вариантов SMIT) , Класс объектов sm_menu_opt (меню SMIT) , Класс объектов sm_name_hdr (заголовок списков вариантов SMIT)