Symbian3/PDK/Source/GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
equal deleted inserted replaced
11:5072524fcc79 12:80ef3a206772
    13 Controller Architecture</title><shortdesc>Describes the class architecture of the MMC Controller.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    13 Controller Architecture</title><shortdesc>Describes the class architecture of the MMC Controller.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    14 <section id="GUID-50AB2022-B205-525B-83F9-0DE0275EC3EF"><title>Introduction</title> <p>The
    14 <section id="GUID-50AB2022-B205-525B-83F9-0DE0275EC3EF"><title>Introduction</title> <p>The
    15 MultiMediaCard media driver defines and implements the standard media driver
    15 MultiMediaCard media driver defines and implements the standard media driver
    16 interface derived from <xref href="GUID-A0D4EB25-0BA4-39EE-874B-465EB9628DCC.dita"><apiname>DMediaDriver</apiname></xref>. This is the client
    16 interface derived from <xref href="GUID-A0D4EB25-0BA4-39EE-874B-465EB9628DCC.dita"><apiname>DMediaDriver</apiname></xref>. This is the client
    17 of the MultiMediaCard controller. </p> <fig id="GUID-6F516C8A-9114-50A1-A714-8BA9DD081C08">
    17 of the MultiMediaCard controller. </p> <fig id="GUID-6F516C8A-9114-50A1-A714-8BA9DD081C08">
    18 <image href="GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e393517_href.png" placement="inline"/>
    18 <image href="GUID-DF3045C7-4BDA-53AF-85E4-A8AAD99F40F7_d0e399370_href.png" placement="inline"/>
    19 </fig> <p>Requests to the controller can also come from other device drivers.
    19 </fig> <p>Requests to the controller can also come from other device drivers.
    20 This means that the architectural picture can be extended as shown below: </p> <fig id="GUID-D84379AB-36E2-5679-B154-40FDDF6FE334">
    20 This means that the architectural picture can be extended as shown below: </p> <fig id="GUID-D84379AB-36E2-5679-B154-40FDDF6FE334">
    21 <image href="GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e393525_href.png" placement="inline"/>
    21 <image href="GUID-5686E787-537F-5B32-B719-34EF5B7F0D37_d0e399378_href.png" placement="inline"/>
    22 </fig> <p>The controller currently supports a single stack capable of holding
    22 </fig> <p>The controller currently supports a single stack capable of holding
    23 up to 4 cards. In a future development, it may become capable of supporting
    23 up to 4 cards. In a future development, it may become capable of supporting
    24 more than 1 stack. Note however, that Symbian platform allows more than one
    24 more than 1 stack. Note however, that Symbian platform allows more than one
    25 peripheral bus controller. </p> <p>The controller can handle multiple requests
    25 peripheral bus controller. </p> <p>The controller can handle multiple requests
    26 outstanding simultaneously, i.e. multiple drivers each with a session engaged
    26 outstanding simultaneously, i.e. multiple drivers each with a session engaged
    45 number, and therefore, no guarantee that it will have the same drive letter
    45 number, and therefore, no guarantee that it will have the same drive letter
    46 as before. </p> </section>
    46 as before. </p> </section>
    47 <section id="GUID-92F5EBE4-C9AD-5D9A-A80E-9AFD1A09B6B3"><title>Class architecture</title> <p>The
    47 <section id="GUID-92F5EBE4-C9AD-5D9A-A80E-9AFD1A09B6B3"><title>Class architecture</title> <p>The
    48 following diagram gives a more detailed view of the MultiMediaCard controller
    48 following diagram gives a more detailed view of the MultiMediaCard controller
    49 in terms of the socket, stack, session, power supply and media change objects. </p> <fig id="GUID-17F345F3-B579-5D78-BE22-0CA50A88FAAE">
    49 in terms of the socket, stack, session, power supply and media change objects. </p> <fig id="GUID-17F345F3-B579-5D78-BE22-0CA50A88FAAE">
    50 <image href="GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e393550_href.png" placement="inline"/>
    50 <image href="GUID-431A08D4-46DD-5A9D-B2A4-3D58C9B1E9E7_d0e399403_href.png" placement="inline"/>
    51 </fig> <p id="GUID-BA12AC03-4A9C-5B1A-BC06-D171BCAB9DB2"><b>The socket</b> </p> <p>The
    51 </fig> <p id="GUID-BA12AC03-4A9C-5B1A-BC06-D171BCAB9DB2"><b>The socket</b> </p> <p>The
    52 Symbian platform implementation of MultiMediaCard uses the idea of a socket.
    52 Symbian platform implementation of MultiMediaCard uses the idea of a socket.
    53 A socket corresponds to a physical device on a given peripheral bus. </p> <p>In
    53 A socket corresponds to a physical device on a given peripheral bus. </p> <p>In
    54 general, a socket is associated with its own thread. However, although each
    54 general, a socket is associated with its own thread. However, although each
    55 card in a MultiMediaCard stack has its own individual slot, the bus architecture
    55 card in a MultiMediaCard stack has its own individual slot, the bus architecture
    98 to create the instances of your classes. </p> <p>Note that these functions
    98 to create the instances of your classes. </p> <p>Note that these functions
    99 are only called for sockets that are associated with MultiMediaCard devices. <xref href="GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A.dita#GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A/GUID-2C6EA849-1B62-3158-A328-DB2A7149346C"><apiname>TMMCardControllerInterface::Create()</apiname></xref> iterates
    99 are only called for sockets that are associated with MultiMediaCard devices. <xref href="GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A.dita#GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A/GUID-2C6EA849-1B62-3158-A328-DB2A7149346C"><apiname>TMMCardControllerInterface::Create()</apiname></xref> iterates
   100 through all possible socket numbers, from 0 to <xref href="GUID-2C5A5F8F-381C-3B99-AADE-44474E629CC4.dita"><apiname>KMaxPBusSockets</apiname></xref>,
   100 through all possible socket numbers, from 0 to <xref href="GUID-2C5A5F8F-381C-3B99-AADE-44474E629CC4.dita"><apiname>KMaxPBusSockets</apiname></xref>,
   101 calling <xref href="GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A.dita#GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A/GUID-5EC9F2EE-5D14-37F9-9EFE-95BD1062C681"><apiname>TMMCardControllerInterface::IsMMCSocket()</apiname></xref> for each
   101 calling <xref href="GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A.dita#GUID-B1F2C60B-E098-395F-8ED0-FF33E3EC9E4A/GUID-5EC9F2EE-5D14-37F9-9EFE-95BD1062C681"><apiname>TMMCardControllerInterface::IsMMCSocket()</apiname></xref> for each
   102 socket number to determine whether the socket number is a MultiMediaCard socket. </p> <fig id="GUID-53AF7993-0A93-5728-9609-0133E66AED78">
   102 socket number to determine whether the socket number is a MultiMediaCard socket. </p> <fig id="GUID-53AF7993-0A93-5728-9609-0133E66AED78">
   103 <image href="GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e393700_href.png" placement="inline"/>
   103 <image href="GUID-13664BB9-7D05-594E-95D4-49C0D31D3734_d0e399553_href.png" placement="inline"/>
   104 </fig> </section>
   104 </fig> </section>
   105 </conbody></concept>
   105 </conbody></concept>