Symbian3/SDK/Source/GUID-5580195F-3DE7-55FA-B2C1-91A950A39C6E.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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-5580195F-3DE7-55FA-B2C1-91A950A39C6E" xml:lang="en"><title>Nodes
in Symbian Platform</title><shortdesc>This topic describes the basic concept of a <i>Node</i> in Symbian
platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>

<p>The Communications Framework is modular and can adapt to changes in the
networks that are available. The Communications Framework can also adapt to
changes in technology. The modular design is described as a <i>Distributed
Object Model</i>. Nodes are the components of a Distributed Object Model. </p>
<p>A Distributed Object Model describes a system of entities or <i>Nodes</i> that
can exist in different run contexts. The Nodes can exchange asynchronous messages.
In Symbian platform, the concept of different run contexts refers to separate
threads and separate processes. The scope of a Node is limited to a device.
A Node cannot exist on a separate device. </p>
<p>Symbian platform provides the Distributed Object Model framework that the
Communications Architecture uses. The Distributed Object Model framework is
a general purpose tool that other software entities can also use. </p>
<p>A Node is an object that has an interface and an address. A Node uses messages
to communicate with other Nodes. Some types of Node can use direct function
calls to communicate if speed is important. Symbian platform defines the interface
to a Node as the sequence of messages that the Node knows and to which the
Node responds. </p>
<p>A Node is an instance of a class derived from <xref href="GUID-3462501E-FDE1-3F3C-B26D-7FF3C826311F.dita"><apiname>ANodeBase</apiname></xref>. </p>
<p>A parent Node is responsible for the destruction of its child Nodes. A
parent Node can pass a reference to a child Node to other Nodes and implements
the concept of containment. </p>
<p>Nodes have <i>Roles</i>. A Role : </p>
<ul>
<li id="GUID-FCAA95EC-73CE-55D6-958F-4489069915D9"><p>identifies a service
that the Node provides </p> </li>
<li id="GUID-D9A10365-54BC-5F28-A081-FBB9963FCA38"><p>describes the series
of messages that a Node sends and receives as part of a service </p> </li>
</ul>
<p>A Node can have more than one role. Examples of roles are as follows: </p>
<ul>
<li id="GUID-76207994-4326-5CB1-BE14-F20037A9B0BE"><p>a Node can accept requests
to connect to another Node. </p> </li>
<li id="GUID-3F4B59F6-12DD-5381-ACE9-DD021F41BF66"><p>a Node can own other
Nodes. This is the concept of the <i>parent</i> Node. </p> </li>
<li id="GUID-1B92A012-72B4-5DAC-9F15-D7FB802E2625"><p>A Node can be owned
by another Node. This is the concept of the <i>child</i> Node. </p> </li>
</ul>
</conbody></concept>