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 id="GUID-46121F24-AB53-5B44-A082-EF13A72EB7FF" xml:lang="en"><title>Writing
a Converter</title><shortdesc>File Converter Framework specifies a plug-in interface for file
format converters. Clients can convert from one data type to another using
file format converters, for example, HTML files to Word documents. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section><title>Introduction</title> <p>The File Converter Framework provides
the following: </p> <ul>
<li id="GUID-75C46CFD-2B82-5500-AADA-E9E86CE8E894"><p>An abstract interface
which all converters must implement. </p> </li>
<li id="GUID-657490ED-CACA-5C43-BE75-5FBB954F2625"><p>APIs to list and search
for converters. </p> </li>
<li id="GUID-97761F64-2821-5845-86AD-1912B6E551F8"><p>APIs to determine the
MIME types supported by the available converters. </p> </li>
<li id="GUID-4D4812BA-9B84-5022-81B5-784F80FF5C75"><p>An observer interface
through which the progress and success or failure of the conversion can be
reported. </p> </li>
</ul> <p>Converters are implemented as <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECom
plug-ins</xref>, each of which can implement one or more converters. Like
all binaries, the plug-ins are installed in the <filepath>\sys\bin\</filepath> directory.
Each plug-in must provide two resource files: one contains a <codeph>CONARC_RESOURCE_FILE</codeph> resource
to describe the converters implemented in the DLL, and the other is a registration
resource file required by the ECom framework. </p> <p>The following UML diagram
shows the key elements of the converter architecture, including an example
client and an example converter DLL that provides two converters, <codeph>myConverter1</codeph> and <codeph>myConverter2</codeph>. </p> <fig id="GUID-6E58825A-CBE2-52B8-B7BD-6D263A0751F4">
<title> File Converter architecture </title>
<image href="GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e138140_href.png" placement="inline"/>
</fig> </section>
<section><title>Procedure</title> <ol id="GUID-1E4BFC84-4F0F-5DB1-A6D5-617E23617AB4">
<li id="GUID-2132AE6E-DB10-53BE-B9F4-0E8F9C305BCA"><p><xref href="GUID-49C93C36-D86B-4EEE-A8AB-4279312DF4BC.dita">Write
an interface implementation for a converter</xref>. </p> </li>
<li id="GUID-B7BABC73-46D1-58EC-9251-2C4728017FB4"><p><xref href="GUID-008F9006-8548-443D-A7ED-4A8233E051C6.dita">Implement
the ECom framework code</xref>. </p> </li>
<li id="GUID-4A30B127-FC7A-5751-9F1A-3D8DE591B455"><p><xref href="GUID-436B6DFE-D279-44BF-B099-B2547D50610A.dita">Write
a resource file</xref>. </p> </li>
<li id="GUID-14F0D5B7-C909-5EF5-95DB-01E56CA5FFB0"><p><xref href="GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1.dita">Write
a converter DLL project file</xref>. </p> </li>
</ol> </section>
</conbody><related-links>
<link href="GUID-99AC84AE-C4C0-53AA-8984-51AE84EE7651.dita"><linktext>File Converter
Framework Overview</linktext></link>
</related-links></concept>