Symbian3/SDK/Source/GUID-F25862A3-51E5-581A-9CC9-964791781E69.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-F25862A3-51E5-581A-9CC9-964791781E69"><title> Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Camera Plugin Support API. </p> <section><title>Purpose</title> <p>This API is implemented as an Ecom plug-in. </p> <p><b>Camera Plugin Support Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-9A4C35C5-5665-5313-91C5-61F3D490F3FD"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-87544794-C402-3462-B1B2-D4D8324DA7B3.dita"><apiname>ecampluginsupport.dll</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-645E6782-2610-3E79-A6A8-66A65C325E5F.dita"><apiname>euser.lib </apiname></xref>  </p> <p> <xref href="GUID-84849911-AE12-3CCA-8C3C-3A0EDEFE9CAF.dita"><apiname> ecom.lib</apiname></xref>  </p> <p> <xref href="GUID-B03B32E5-C35F-34F6-9777-161E6956BDF0.dita"><apiname> mmcommonutils.lib </apiname></xref>  </p> <p> <xref href="GUID-B4E2E996-CFBE-3156-B02D-D0F2F634B3C7.dita"><apiname>ecam.lib</apiname></xref>  </p> </entry> <entry><p>These files are used for implementing the Camera Plug-in Support functionalities. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Description</title> <p>When a new camera object is required, the Ecam library requests a camera plug-in from the Ecom framework. When more than one ROM based plug-ins have been registered on the platform, the one with the highest version defined in its resource file is selected. </p> <p>Symbian version of the plug-in is a stub intended for replacement by an alternate implementation. </p> <p>ECam implementation provides static information about camera support to the client, by deriving from <xref href="GUID-F3807F58-762D-3D28-9831-81FABE614FE2.dita"><apiname>CcameraInfoPlugin()</apiname></xref>. Method <xref href="GUID-4E8A5141-5E4A-322A-9892-8DC49D04986E.dita#GUID-4E8A5141-5E4A-322A-9892-8DC49D04986E/GUID-69ABA39B-E369-3CB6-AA07-6E8CE01C0D18"><apiname>Ccamera::CamerasAvailable()</apiname></xref> is implemented through concrete implementation of <xref href="GUID-94C787BB-4666-3D99-8FCF-53E58D7EFDD7.dita"><apiname>CcameraInfoPlugin</apiname></xref> virtual method. Implementers need to register support for the interface <xref href="GUID-D7036F17-3019-3ABB-8D99-3A67B908C2F0.dita"><apiname>KuidOnboardCameraPlugin</apiname></xref> in their resource file. </p> </section> <section><title> Camera Plugin Support Key Classes</title> <p>All cameras are Ecom plug-ins sub-classed from <xref href="GUID-7243A080-5D9D-3176-8A61-1018DD1A2D0E.dita"><apiname>CcameraPlugin</apiname></xref> class and register support for the interface <xref href="GUID-D7036F17-3019-3ABB-8D99-3A67B908C2F0.dita"><apiname>KuidOnboardCameraPlugin</apiname></xref> in their resource file. The key classes that make up the Camera Plug-in Support API is <xref href="GUID-7243A080-5D9D-3176-8A61-1018DD1A2D0E.dita"><apiname>CcameraPlugin</apiname></xref>. </p> </section> <section><title>Using Camera Plugin Support</title> <p>The current implementation of the camera expects cameras to be implemented as Ecom plug-ins. The ROM plug-in with the highest version is selected at instantiation phase. The plug-in implements <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita"><apiname>CCamera</apiname></xref> interface, defined in <filepath>ECam.h</filepath>. </p> </section> <section><title>See also</title> <p><xref href="GUID-36C3A2FD-F4F9-5B8C-91B7-40C29B3D2224.dita">Overview</xref> of the Camera component </p> <p><xref href="GUID-93D08C5F-D864-59E3-963D-D836EBE88B4D.dita">Camera Plug-in Support Tutorial</xref>  </p> </section> </conbody></concept>