В следующих четырех разделах описывается, как определить класс адаптера и создать экземпляр объекта этого класса. Каждый адаптер должен определить класс, являющийся подклассом набора адаптеров IAdaptor абстрактный класс. Этот абстрактный класс определяет несколько виртуальных функций, которые класс адаптера должен реализовать. В следующих четырех разделах вы начнете работу с реализацией класса адаптеров, создав реализацию заглушки. Эта реализация заглушки позволит создать объект ввода видео с адаптером с помощью videoinput функция. В последующих разделах вы завершаете разработку адаптеров, раскрывая реализации этих виртуальных функций.
Когда пользователь вызывает videoinput для создания объекта ввода видео механизм панели инструментов вызывает две экспортированные функции в адаптере:
getDeviceAttributes()
createInstance()
(Чтобы увидеть схему потока управления, которая показывает, как эти функции соответствуют другим необходимым экспортируемым функциям, см. Использование экспортируемых функций адаптера.)
getDeviceAttributes() функция определяет, какие свойства устройства вы хотите предоставить пользователям. Эта функция кратко описана в этой главе (см. раздел Идентификация источников видео). Полные сведения о реализации этой экспортированной функции см. в разделе Определение свойств устройства.
Механизм панели инструментов вызывает адаптер createInstance() для создания экземпляра объекта класса адаптера. Каждый адаптер должен определить класс, который является подклассом IAdaptor абстрактный класс, обеспечивающий реализации чистых виртуальных функций, определенных в этом абстрактном классе.
В этой главе описывается создание тупиковой реализации класса адаптера (см. Создание тупиковой реализации класса адаптера) и создание конструктора и деструктора для этого класса. См. раздел Создание экземпляра объекта адаптера. При получении данных изображения выполняется реализация этих функций.
Примечание
Поскольку каждый экземпляр класса адаптера связан с определенным форматом, выбранным пользователем, большая часть информации, возвращаемой этими функциями, является статической.