Symbian3/SDK/Source/GUID-C21BB0E4-7AF7-58E5-AAD6-8CE67399460C.dita
changeset 13 48780e181b38
parent 8 ae94777fff8f
equal deleted inserted replaced
12:80ef3a206772 13:48780e181b38
    26 collect words from the user and another active object to receive words
    26 collect words from the user and another active object to receive words
    27 from the Inverter. Each active object has its own console for display.
    27 from the Inverter. Each active object has its own console for display.
    28 More information about running the example is given in the build section
    28 More information about running the example is given in the build section
    29 of this document. </p> <p><b>Design</b> </p> <p>The following block
    29 of this document. </p> <p><b>Design</b> </p> <p>The following block
    30 diagram describes the example in more detail. </p> <fig id="GUID-27A0C389-EDDD-5E17-82EE-2727F21803AF">
    30 diagram describes the example in more detail. </p> <fig id="GUID-27A0C389-EDDD-5E17-82EE-2727F21803AF">
    31 <image href="GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e254198_href.png" placement="inline"/>
    31 <image href="GUID-CD7F507C-CDD5-5612-BA1B-72641D28FA4A_d0e259109_href.png" placement="inline"/>
    32 </fig><p><filepath>CCollector.exe</filepath> is the Collector process.
    32 </fig><p><filepath>CCollector.exe</filepath> is the Collector process.
    33 The user starts the Collector and creates an active scheduler and
    33 The user starts the Collector and creates an active scheduler and
    34 two global message queues. It also starts the Inverter process called <filepath>Inverter.exe</filepath>. The Collector creates one active object
    34 two global message queues. It also starts the Inverter process called <filepath>Inverter.exe</filepath>. The Collector creates one active object
    35 to collect words from the user and another active object to monitor
    35 to collect words from the user and another active object to monitor
    36 its input queue (InverterOutQ). The active object to collect words
    36 its input queue (InverterOutQ). The active object to collect words
    44 checks for a stop command, which closes the message queue and the
    44 checks for a stop command, which closes the message queue and the
    45 two process. The Inverter inverts the received words and sends the
    45 two process. The Inverter inverts the received words and sends the
    46 result to <codeph>InverterOutQ</codeph>. </p><p>In the Collector process,
    46 result to <codeph>InverterOutQ</codeph>. </p><p>In the Collector process,
    47 the active object that monitors the <codeph>InveterOutQ</codeph> opens
    47 the active object that monitors the <codeph>InveterOutQ</codeph> opens
    48 the message queue, receives the received words and displays  them
    48 the message queue, receives the received words and displays  them
    49 in its console. It uses the <xref href="GUID-22E24B08-175B-3446-9D48-9AC4B1663E35.dita"><apiname>NotifyDataAvailable(TRequestStatus&amp;)</apiname></xref> API to monitor the queue for the next set of data. </p><p>The Class diagram of the example is shown below </p><fig id="GUID-E93EF1D6-1B9D-4C76-80B0-1FF660B5C75A">
    49 in its console. It uses the <xref href="GUID-22E24B08-175B-3446-9D48-9AC4B1663E35.dita"><apiname>NotifyDataAvailable(TRequestStatus&amp;)</apiname></xref> API to monitor the queue for the next set of data. </p><p>The Class
    50 <image href="GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e254247_href.png" placement="inline"/>
    50 diagram of the example is shown below </p><fig id="GUID-E93EF1D6-1B9D-4C76-80B0-1FF660B5C75A">
       
    51 <image href="GUID-3560E862-CB68-584F-B9B6-FCD9F0D202DC_d0e259157_href.png" placement="inline"/>
    51 </fig> </section>
    52 </fig> </section>
    52 <section id="GUID-86B04D06-7046-49BD-AE1A-57D5E406F864"><title>Class
    53 <section id="GUID-86B04D06-7046-49BD-AE1A-57D5E406F864"><title>Class
    53 summary</title><ul>
    54 summary</title><ul>
    54 <li><p> <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> - Periodic timer active object.</p></li>
    55 <li><p> <xref href="GUID-3CECC9FC-58C1-3117-AAF2-FDF88341F56F.dita"><apiname>CPeriodic</apiname></xref> - Periodic timer active object.</p></li>
    55 <li><p><xref href="GUID-5195B8D1-851E-3BEE-A72D-1841C0937300.dita"><apiname> RMsgQueue</apiname></xref> - A handle to a message queue.</p></li>
    56 <li><p><xref href="GUID-5195B8D1-851E-3BEE-A72D-1841C0937300.dita"><apiname> RMsgQueue</apiname></xref> - A handle to a message queue.</p></li>
    56 <li><p><xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita"><apiname> RProcess </apiname></xref> - A handle to a process.</p></li>
    57 <li><p><xref href="GUID-9DD1EA2B-DC59-315C-8E9C-CE6D9461B695.dita"><apiname> RProcess </apiname></xref> - A handle to a process.</p></li>
    57 <li><p><xref href="GUID-067293BF-B28C-3CEC-92F4-1351A795EA7F.dita"><apiname> CActive</apiname></xref> - The core class of the active
    58 <li><p><xref href="GUID-067293BF-B28C-3CEC-92F4-1351A795EA7F.dita"><apiname> CActive</apiname></xref> - The core class of the active
    58 object abstraction.</p></li>
    59 object abstraction.</p></li>
    59 </ul></section>
    60 </ul></section>
    60 <section id="GUID-F8D41313-760D-417E-834C-09D41F4EDB06"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian
    61 <section id="GUID-F8D41313-760D-417E-834C-09D41F4EDB06"><title>Build</title> <p>The example builds an executable called <filepath>Inverter.exe</filepath> and <filepath>Collector.exe</filepath> in the standard locations. </p> <p>To run the example, first build <filepath>Inverter.exe</filepath> and start <filepath>Collector.exe</filepath> from the file system
    61 build process</xref> describes how to build this example application. </p> <p>The example builds an executable called <filepath>Inverter.exe</filepath> and <filepath>Collector.exe</filepath> in the standard locations. </p> <p>To run the example, first build <filepath>Inverter.exe</filepath> and start <filepath>Collector.exe</filepath> from the file system
       
    62 or from your IDE. After launching the .exes (and depending on the
    62 or from your IDE. After launching the .exes (and depending on the
    63 emulator you are using) you may need to navigate away from the application
    63 emulator you are using) you may need to navigate away from the application
    64 launcher or shell screen to view the console. </p> <p>A message input
    64 launcher or shell screen to view the console. </p> <p>A message input
    65 console is used for user input and an output message console is used
    65 console is used for user input and an output message console is used
    66 to display inverted words. The output message console that is displayed
    66 to display inverted words. The output message console that is displayed