|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-46121F24-AB53-5B44-A082-EF13A72EB7FF" xml:lang="en"><title>Writing |
|
13 a Converter</title><shortdesc>File Converter Framework specifies a plug-in interface for file |
|
14 format converters. Clients can convert from one data type to another using |
|
15 file format converters, for example, HTML files to Word documents. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
16 |
|
17 <section><title>Introduction</title> <p>The File Converter Framework provides |
|
18 the following: </p> <ul> |
|
19 <li id="GUID-75C46CFD-2B82-5500-AADA-E9E86CE8E894"><p>An abstract interface |
|
20 which all converters must implement. </p> </li> |
|
21 <li id="GUID-657490ED-CACA-5C43-BE75-5FBB954F2625"><p>APIs to list and search |
|
22 for converters. </p> </li> |
|
23 <li id="GUID-97761F64-2821-5845-86AD-1912B6E551F8"><p>APIs to determine the |
|
24 MIME types supported by the available converters. </p> </li> |
|
25 <li id="GUID-4D4812BA-9B84-5022-81B5-784F80FF5C75"><p>An observer interface |
|
26 through which the progress and success or failure of the conversion can be |
|
27 reported. </p> </li> |
|
28 </ul> <p>Converters are implemented as <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">ECom |
|
29 plug-ins</xref>, each of which can implement one or more converters. Like |
|
30 all binaries, the plug-ins are installed in the <filepath>\sys\bin\</filepath> directory. |
|
31 Each plug-in must provide two resource files: one contains a <codeph>CONARC_RESOURCE_FILE</codeph> resource |
|
32 to describe the converters implemented in the DLL, and the other is a registration |
|
33 resource file required by the ECom framework. </p> <p>The following UML diagram |
|
34 shows the key elements of the converter architecture, including an example |
|
35 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"> |
|
36 <title> File Converter architecture </title> |
|
37 <image href="GUID-EF7F79E4-21B1-59E3-A063-ABD2C6426E7C_d0e141070_href.png" placement="inline"/> |
|
38 </fig> </section> |
|
39 <section><title>Procedure</title> <ol id="GUID-1E4BFC84-4F0F-5DB1-A6D5-617E23617AB4"> |
|
40 <li id="GUID-2132AE6E-DB10-53BE-B9F4-0E8F9C305BCA"><p><xref href="GUID-49C93C36-D86B-4EEE-A8AB-4279312DF4BC.dita">Write |
|
41 an interface implementation for a converter</xref>. </p> </li> |
|
42 <li id="GUID-B7BABC73-46D1-58EC-9251-2C4728017FB4"><p><xref href="GUID-008F9006-8548-443D-A7ED-4A8233E051C6.dita">Implement |
|
43 the ECom framework code</xref>. </p> </li> |
|
44 <li id="GUID-4A30B127-FC7A-5751-9F1A-3D8DE591B455"><p><xref href="GUID-436B6DFE-D279-44BF-B099-B2547D50610A.dita">Write |
|
45 a resource file</xref>. </p> </li> |
|
46 <li id="GUID-14F0D5B7-C909-5EF5-95DB-01E56CA5FFB0"><p><xref href="GUID-22F4D9EA-9912-466E-B729-7706BC17BDA1.dita">Write |
|
47 a converter DLL project file</xref>. </p> </li> |
|
48 </ol> </section> |
|
49 </conbody><related-links> |
|
50 <link href="GUID-99AC84AE-C4C0-53AA-8984-51AE84EE7651.dita"><linktext>File Converter |
|
51 Framework Overview</linktext></link> |
|
52 </related-links></concept> |