This document introduces you to the Camera Stub Plug-in library overview.
The purpose of this document is to provides a detailed description about the Camera Stub Plug-in implementation.
The DLL that provides the functionality and the library to which your code must link is identified below.
The Symbian platform no longer supports re-implementation of ECam component. Device creators who re-implement ECam should complete their migration to the ECam plug-in framework. Device creators already using the ECam plug-in framework are unaffected. Clients of the interfaces are also unaffected.
Symbian introduced the plug-in support for ECam from v9.1 onwards. Before that, device creators were supposed to re-implement ecam.cpp, which was effectively reference code.
Device creators who re-implement ECam should use the Symbian-provided implementations. These implementations are available through the affected cpp files. In particular, to complete migration to the ECam plug-in framework, device creators should derive their class from CCameraPlugin instead of CCamera. A resource file also needs to be created so that the specific plug-in gets chosen. Device creators will have to link against ecampluginsupport.
ECamStubplugin is example code that helps in understanding the steps needed to migrate to the plug-in framework, and the API design is described in the ECam Design Onboard Camera API document.
The key classes that make up the Camera Plug-in API is CCameraPlugin.
The Camera Stub Plug-in is used to facilitate the creation of a new Camera Plug-ins component.
The following test code is used as an example to create a new Camera Plug-ins component:
// 10207084.RSS // #include “Ecom\RegistryInfo.rh” #include “EcamUids.hrh” RESOURCE REGISTRY_INFO theInfo { dll_uid = KuidOnboardCameraTestDll; interfaces = { INTERFACE_INFO { interface_uid = KuidOnboardCameraPlugin; implementations = { IMPLEMENTATION_INFO { implementation_uid = KuidOnboardCameraTestPlugin; version_no = 2; display_name =”Ecam Test Plug-in”; opaque_data = “0;”; default_data=”*”; } }; }, INTERFACE_INFO { interface_uid = KuidOnboardCameraInfoPlugin; implementations = { IMPLEMENTATION_INFO { implementation_uid = KuidOnboardCameraTestInfo; version_no = 2; display_name = “Ecam Test InfoPlugin”; opaque_data = “0;”; default_data=”*”; } }; } }; }