Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим
просмотр истории страницы
Версия 1
Следующий »
Обработчик активации сервисов синхронизирует состояние сервиса и
сессии на устройстве. Именно он производит открытие/закрытие доступа,
изменение скорости или других параметров.
Обработчик привязывается к типу устройства и вызывается поочередно
от корня дерева устройств до затронутого устройства (при необходимости
синхронизировать сервис, привязанный к устройству данного типа или же
сессию, начатую на устройстве данного типа).
/**
* Интерфейс обработчика активации сервисов.<br/>
* <pre>Жизненный цикл:
* init
*
* connect
* serviceModify
* serviceModify
* serviceCancel
* disconnect
*
* connect
* serviceCreate
* serviceModify
* connectionModify
* serviceModify
* connectionClose
* disconnect
* destroy</pre>
*/
public interface ServiceActivator
{
/**
* Инициализация обработчика. Вызывается после создания объекта.
* @param setup
* @param moduleId
* @param device
* @param deviceType
* @param config
* @return
* @throws Exception
*/
public Object init( Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap config )
throws Exception;
/**
* Утилизация обработчика. Вызывается перед уничтожением объекта.
* @return
* @throws Exception
*/
public Object destroy()
throws Exception;
/**
* Подключение к устройству для работы с ним.
* @return
* @throws Exception
*/
public Object connect()
throws Exception;
/**
* Отключение от устройства.
* @return
* @throws Exception
*/
public Object disconnect()
throws Exception;
/**
* Создание сервиса (по событию добавления или началу периода действия)
* @param e
* @return
* @throws Exception
*/
public Object serviceCreate( ServiceActivatorEvent e )
throws Exception;
/**
* Изменение сервиса (подключение/отключение/изменение скорости).
* Вызывается при изменении набора опций или изменении состояния сервиса
* @see ServiceActivatorEvent
* @see {@link ServiceActivatorEvent#getNewState()}
* @param e
* @return
* @throws Exception
*/
public Object serviceModify( ServiceActivatorEvent e )
throws Exception;
/**
* Удаление сервиса (по событию удаления или окончания периода действия).
* @param e
* @return
* @throws Exception
*/
public Object serviceCancel( ServiceActivatorEvent e )
throws Exception;
/**
* Изменение соединения.
* Вызывается при изменении набора опции на соединении или при изменении состояния.<br/>
* Обычно, при {@link ServiceActivatorEvent#getNewState()} == {@link InetServ#STATE_DISABLE} из этого метода происходит вызов метода {@link #connectionClose(ServiceActivatorEvent)}
* @param e
* @return
* @throws Exception
*/
public Object connectionModify( ServiceActivatorEvent e )
throws Exception;
/**
* Закрытие (принудительное) соединения.<br/>
* Обычно вызывается при {@link AccessCodes#TOO_MANY_SESSIONS_ERROR} или из метода {@link #connectionModify(ServiceActivatorEvent)}
* @param e
* @return
* @throws Exception
*/
public Object connectionClose( ServiceActivatorEvent e )
throws Exception;
/**
* Обработка старта соединения.
* @param event
* @return
* @throws Exception
*/
public Object onAccountingStart( ServiceActivatorEvent event )
throws Exception;
/**
* Обработка стопа соединения.
* @param event
* @return
* @throws Exception
*/
public Object onAccountingStop( ServiceActivatorEvent event )
throws Exception;
}
Описание интерфейса
ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivator доступно в
документации по API.