Class isp dns::Zone

Материал из ISPWiki
Перейти к: навигация, поиск

Работа с DNS

Класс isp_dns::Zone

Данный класс является абстрактным

Представление зоны DNS.

#include <ispdns.h> 

Описание:

class isp_dns::Zone

Предоставляет методы для работы с DNS-зоной, при этом также является контейнером для представлений ресурсных DNS-записей

Открытые члены (кратко)

string Name () const

Возвращает имя зоны


void New ( const string &type )

Создает новую ресурсную запись указанного типа


void Delete ( const bool resign = true )

Удаляет текущую ресурсную запись и осуществляет переход к следующей ресурсной записи, resign - будет ли выполняться переподписывание


void Post ( const bool for_incsoa = false )

Применяет изменения, внесенные в текущую ресурсную запись (или добавляет новую запись, созданную методом New)


void Append ( const string &name , const string &type , const string &addr )

Создает новую ресурсную запись с указанными параметрами и сразу добавляет ее в зону (аналогично последовательности New...Post)


StringMap GetCurentRecord () const

Возвращает параметры текущей записи, навигация по записям осуществляется методами Assert и Find.


virtual void IncSOA ( bool force = false )

Инкрементирует серийный номер SOA-записи. Если параметр force имеет значение true, серийный номер будет изменен даже если не было изменений в самой DNS-зоне


virtual size_t GetSOA ()

Получить серийный номер SOA-записи. При этом курсор будет установлен на SOA запись. Если записи нет - возвращает 0.


void TransferToSlave ()

Передает доменную зону на slave сервера


virtual bool IsValid () const =0

Проверяет конфигурацию зоны на наличие логических ошибок. Возвращает true, если ошибок не обнаружено


virtual bool IsChanged () const

Возвращает true, если имеются изменения в DNS-зоне


virtual  ~Zone ()

Деструктор

Методы навигации по списку записей

Данные методы обеспечивают навигацию по списку записей

Warning: Связь между функциями обхода списка записей (First, Next, Eof) и перехода к записи (Assert, Find, LocateByName, LocateByType) не гарантируется Это значит, например, что вызов Next после Find не гарантирует, что текущая запись будет следующей после найденной

bool First ()

Осуществляет переход к первой ресурсной записи зоны. Возвращает true в случае успеха, false в противном случае


bool Next ()

Осуществляет переход к следующей ресурсной записи зоны. Возвращает true в случае успеха, false в противном случае


bool Eof ()

Возвращает true, если достигнут конец списка ресурсных записей


void Assert ( const string &key )

Осуществляет переход к ресурсной записи зоны с указанным уникальным ключом записи. Если запись не найдена, генерирует исключение


bool Find ( const string &key )

Осуществляет переход к ресурсной записи зоны с указанным уникальным ключом записи. Если запись найдена, возвращает true.


bool LocateByName ( const string &name )

Осуществляет переход к ресурсной записи зоны с указанным именем записи. Если запись найдена, возвращает true.


bool LocateByType ( const string &type )

Осуществляет переход к ресурсной записи зоны с указанным типом записи. Если запись найдена, возвращает true.

Защищённые члены (кратко)

Конструкторы

virtual ~Zone ()

Деструктор

Методы

bool First ()

Осуществляет переход к первой ресурсной записи зоны. Возвращает true в случае успеха, false в противном случае

bool Next ()

Осуществляет переход к следующей ресурсной записи зоны. Возвращает true в случае успеха, false в противном случае

bool Eof ()

Возвращает true, если достигнут конец списка ресурсных записей

void Assert ( const string &key )

Осуществляет переход к ресурсной записи зоны с указанным уникальным ключом записи. Если запись не найдена, генерирует исключение

bool Find ( const string &key )

Осуществляет переход к ресурсной записи зоны с указанным уникальным ключом записи. Если запись найдена, возвращает true.

bool LocateByName ( const string &name )

Осуществляет переход к ресурсной записи зоны с указанным именем записи. Если запись найдена, возвращает true.

bool LocateByType ( const string &type )

Осуществляет переход к ресурсной записи зоны с указанным типом записи. Если запись найдена, возвращает true.

string Name () const

Возвращает имя зоны

void New ( const string &type )

Создает новую ресурсную запись указанного типа

void Delete ( const bool resign = true )

Удаляет текущую ресурсную запись и осуществляет переход к следующей ресурсной записи, resign - будет ли выполняться переподписывание

void Post ( const bool for_incsoa = false )

Применяет изменения, внесенные в текущую ресурсную запись (или добавляет новую запись, созданную методом New)

Если данный метод не был вызван после добавления или редактирования записи, никакие изменения не будут применены

Аргументы:
[in] - for_incsoa Вызван ли Post для инкрементирования серийного номера SOA-записи.

void Append ( const string &name , const string &type , const string &addr )

Создает новую ресурсную запись с указанными параметрами и сразу добавляет ее в зону (аналогично последовательности New...Post)

StringMap GetCurentRecord () const

Возвращает параметры текущей записи, навигация по записям осуществляется методами Assert и Find.

virtual void IncSOA ( bool force = false )

Инкрементирует серийный номер SOA-записи. Если параметр force имеет значение true, серийный номер будет изменен даже если не было изменений в самой DNS-зоне

Если параметр force имеет значение false, серийный номер будет увеличен только в случае, если имеются изменения в DNS-зоне. Также конфигурация зоны будет проверена на наличие логических ошибок.

virtual size_t GetSOA ()

Получить серийный номер SOA-записи. При этом курсор будет установлен на SOA запись. Если записи нет - возвращает 0.

void TransferToSlave ()

Передает доменную зону на slave сервера

virtual bool IsValid () const =0

Проверяет конфигурацию зоны на наличие логических ошибок. Возвращает true, если ошибок не обнаружено

virtual bool IsChanged () const

Возвращает true, если имеются изменения в DNS-зоне