Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SDK MIP разработан, чтобы быть практически полностью асинхронным. Например, любая операция, приводящая к сетевым или файловым операциям ввода-вывода, выполняется асинхронно. Для обработки уведомлений о событиях для этих асинхронных событий пакет SDK использует шаблон наблюдателя.
Обзор реализации
При создании объекта, выполняющего асинхронную операцию, Observer необходимо реализовать класс. Наблюдатели получат события уведомления, связанные с различными асинхронными операциями в пакете SDK MIP, и предоставляют результат вызывающей функции.
Функции в каждом Observer классе являются виртуальными и переопределяются для предпочтительного асинхронного шаблона. Пакет SDK реализует шаблон наблюдателя уведомлений о событиях с помощью std::promise и std::future.
Каждый наблюдатель, зависящий от класса, содержит набор функций успешности и ошибок или сбоев для результата асинхронной операции. Функции успешного выполнения возвращают объект, связанный с операцией. Функции ошибки/ возвращают исключение, содержащее сведения о том, почему операция была неудачной.
Например, FileProfile поддерживает следующие две операции:
- Можно добавить новый движок в профиль с помощью
FileProfile::AddEngineAsync. - Он может выгрузить двигатель из профиля с помощью
FileProfile::UnloadEngineAsync.
Так как две Observer функции реализуются для каждой асинхронной операции, можно предположить, что существует четыреObserver метода, связанных с FileProfile:
FileProfileObserver::OnAddEngineSuccess()FileProfileObserver::OnAddEngineError()FileProfileObserver::OnUnloadEngineSuccess-
FileProfileObserver::OnUnloadEngineError().
Классы Observer SDK для MIP
Пакет SDK для файлов MIP содержит два наблюдателя:
mip::FileProfile::Observermip::FileHandler::Observer
SDK политики MIP имеет только одного наблюдателя.
mip::Profile::Observer
Пакет SDK защиты MIP включает трех наблюдателей.
mip::ProtectionProfile::Observermip::ProtectionEngine::Observermip::ProtectionHandler::Observer
Следующие шаги
Дополнительные сведения о реализации и использовании наблюдателей различными пакетами SDK: