Symbian3/PDK/Source/GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     6
<!-- Initial Contributors:
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     7
    Nokia Corporation - initial contribution.
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     8
Contributors: 
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     9
-->
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    10
<!DOCTYPE concept
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    12
<concept xml:lang="en" id="GUID-2D872656-7FD3-56D2-B084-8CC84E8453A4"><title>MTP PTP-IP Transport Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>PTP-IP is one of the supported MTP transport modes. This section describes the PTP-IP Transport plug-in and its sub-components (the PTP-IP Connection Controller and related APIs). </p> <section><title>Required Background</title> <p>Before you start, you must be familiar with the following: </p> <ul><li id="GUID-35C46BF1-3450-57B2-BE03-5E93F64C0594"><p>The data type, communication layers, and transport model of PTP-IP can be found in the <xref scope="external" href="http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-X005.pdf">PTP-IP specification</xref>. </p> </li> <li id="GUID-8043E286-6546-547F-A744-423268B2A6E0"><p>Socket programming. </p> </li> </ul> </section> <section><title>Architecture</title> <p>The diagram below shows the components and sub-components provided by the Symbian platform in green and those that a device creator must implement in blue. They run in two processes: </p> <ul><li id="GUID-C3042566-185B-5963-AC43-BE7DF1C9AEAC"><p>The PTP-IP Controller process is responsible for setting up the TCP/IP connection and PTP-IP connection. According to the PTP-IP specification, PTP-IP is the layer above the TCP/IP. </p> <p> <b>Note</b>: Once a PTP-IP connection is established, the Listener rejects new connection requests until the current connection stops. </p> </li> <li id="GUID-DD1C7B02-8C52-5737-AE71-5F2A96236516"><p>The MTP process loads the PTP-IP Transport plug-in and transfers MTP data over the Symbian TCP/IP Stack between a host PC and a device. </p> </li> </ul> <fig id="GUID-12465D81-1881-566C-B348-695C2F34FB36"><title>
59758314f811 Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    13
             MTP Architecture with PTP-IP Transport Plug-in 
12
80ef3a206772 Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 9
diff changeset
    14
          </title> <image href="GUID-2B4E0859-1CA9-5C4A-B20C-25FC6BC357C4_d0e649431_href.jpg" placement="inline"/></fig> <p>MTP over PTP-IP is initiated in the following way: </p> <ol id="GUID-C86C9F2D-61E4-5FB5-9DFD-23305836CEA2"><li id="GUID-00EAB276-B6BA-52E4-95C5-A3E286ACDFBB"><p>A <b>Listener</b> listens on a specific port to accept a PTP-IP connection (based on TCP/IP) request from a host PC. It calls the <b>TCP/IP Stack</b> to establish the TCP/IP connection between the host PC (initiator) and the Symbian device (responder). </p> <p>A Listener must be implemented by a device creator. For more information about implementing a Listener, refer to <xref href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita">Implementing a Listener</xref>. </p> </li> <li id="GUID-B1B08C90-7598-5A68-9D5F-657047C8311E"><p>Once the TCP/IP connection is established, the Listener calls the <b>PTP-IP Connection Controller</b> to set up the PTP-IP connection. </p> <p>For more information about using PTP-IP Controller, refer to <xref href="GUID-143DAD71-9BCA-52D3-8BC8-AE80DBF05636.dita">Using PTP-IP Controller</xref>. </p> </li> <li id="GUID-42AEA595-E294-5289-BA1C-51585637126F"><p>The PTP-IP Connection Controller validates whether to accept the request for a PTP-IP connection by calling a <b>Filter</b>. </p> <p>The Filter (<xref href="GUID-8FB56D92-F4FC-3125-930F-7F7B26300A47.dita"><apiname>MPTPIPHostFilter</apiname></xref> and <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>) must be implemented by a device creator. For more information about implementing a Filter, refer to <xref href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita">Implementing a Filter</xref>. </p> </li> <li id="GUID-730B7B4E-E41E-5B60-986A-95C3CAB342DD"><p>Once the PTP-IP connection request is accepted and the PTP-IP connection is established, the PTP-IP Connection Controller calls the <b>MTP Client API</b> to send the <codeph>StartTransport</codeph> command to the MTP Framework. </p> </li> <li id="GUID-372DC6F5-78C6-5955-9EC2-3DA0343ADBD3"><p>The MTP Framework loads the <b>MTP PTP-IP Transport plug-in</b>. </p> </li> <li id="GUID-125B0774-5257-5853-B550-3193456C1C04"><p>Requests and responses can be issued and MTP data can be transferred between the host PC and the Symbian device over the TCP/IP Stack. </p> </li> </ol> </section> <section><title>APIs</title> <p>The MTP PTP-IP Transport includes the following key APIs: </p> <table id="GUID-1A782B18-1DC7-5A2D-A378-8FD8C19A581C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-58C9564F-C96F-3CED-993C-01DB4F70DF63.dita"><apiname>CPTPIPHostFilterInterface</apiname></xref>  </p> </entry> <entry><p>Provides an ECom plug-in interface for the Connection Controller to load the right Filter implementation. </p> </entry> </row> <row><entry><p> <xref href="GUID-44FEC8DA-8C77-3A2B-B1CF-C0AAD854CDED.dita"><apiname>RPTPIPFramework</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </entry> <entry><p>Gets an instance of the <xref href="GUID-E5CB0731-9BFC-32F2-951B-5F1C1C41D781.dita"><apiname>MPTPIPController</apiname></xref> instance. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The MTP PTP-IP Transport can be used to </p> <ul><li id="GUID-EDF2ED86-32FE-58DB-BF0A-59C614FA68D7"><p>Validate and set up a PTP-IP connection between a host PC and a Symbian device. </p> </li> <li id="GUID-494FBB92-2868-56A8-96FD-3D5A6869AB0B"><p>Provide MTP over PTP-IP transport support. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-24CF2B94-5F10-57D9-B0D4-E56A80266595.dita"><linktext>Implementing a Listener</linktext> </link> <link href="GUID-7CFE584D-B605-5A3E-9294-84A28003000B.dita"><linktext>Implementing a Filter</linktext> </link> <link href="GUID-32453B7B-4596-50FB-A7B8-04D53B41B7A1.dita"><linktext>Configuring Multiple Transport
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    15
                Protocols</linktext> </link> </related-links></concept>