Configuration tools

omni::config::SectionT class предствляет собой упрощённую иерархическую структуру данных. Используется в качестве универсального средства хранения информации, например, для задания конфигурации симуляторов, для сохранения результатов, для передачи произвольных параметров. Секция конфигурации может содержать вложенные секции и параметры. Каждый параметр omni::config::ElementT представляет собой пару "ключ=значение". Здесь можно провести аналогию с файловой системой - где секция является директорией, а параметр файлом.

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

  <data>
    "time" = 1000 # [seconds]
  </data>

Соглашение об именах: все имена чувствительны к регистру. Если имя секции или параметра содержит пробелы или другие служебные символы, то оно должно быть заключено в кавычки. Допускается использование двойных (") или одинарных (') кавычек.

Секции

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

  <A>
    a=b
    <B>
      b=c
    </B>
  </A>

Для определения начала и окончания секции используются угловые скобки.

  # начало секции
  < "section name" >
    # ...
  </ "section name" >  # окончание секции

Каждая секция должна быть закрыта тем же именем! Допускается использование следующей нотации:

  # начало секции
  < "section name"
    # ...
  />                 # окончание секции

See also:
omni::config::SectionT

Параметры

Параметры являются членами какой либо секции: За именем параметра после символа "=" расположено значение параметра.
 a = 123 
Если символа "=" нет, то считается, что параметр имеет пустое значение. Например,
 a b 
определяет два параметра с пустыми значениями. Секция также может содержать значение, например:

  <"section name" = "section value"
    "element name" = "element value" />

See also:
omni::config::ElementT

Комментарии

Всё что расположено за символом "#" считается комментарием. Допускается использование трёх видов комментариев:

  # simple comment

  # section's prefix comment
  # section's prefix continue
  <A>
    # element's prefix comment
    a = b # element's suffix comment
  </A>    # section's suffix comment
          # section's suffix continue

Generated on Wed Jun 6 17:27:47 2007 for OMNI by  doxygen 1.5.2