|
1 From: matthewf@msexchange2k.closedtest.intra |
|
2 To: matthewf@msexchange2k.closedtest.intra |
|
3 Subject: test21_2 |
|
4 Date: Sun, 23 May 2004 19:04:55 +0530 |
|
5 MIME-Version: 1.0 |
|
6 Content-Type: multipart/mixed; |
|
7 boundary="----=_NextPart_000_0093_01C440F8.D5F5A850" |
|
8 X-Priority: 3 |
|
9 X-MSMail-Priority: Normal |
|
10 X-Mailer: Microsoft Outlook Express 5.50.4922.1500 |
|
11 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4925.2800 |
|
12 |
|
13 This is a multi-part message in MIME format. |
|
14 |
|
15 ------=_NextPart_000_0093_01C440F8.D5F5A850 |
|
16 Content-Type: text/plain; |
|
17 charset="iso-8859-1" |
|
18 Content-Transfer-Encoding: 7bit |
|
19 |
|
20 Internet access on the Nokia 9200 Series Communicator is necessarily limited |
|
21 by the speed of the phone's GSM connection. As a consequence, testing and |
|
22 debugging Internet-based applications on hardware can be both expensive and |
|
23 tedious. The RAS IAP application alleviates this problem by enabling you to |
|
24 connect to the Internet over a much faster serial connection, via your PCThe |
|
25 application demonstrates how the Symbian OS Communications database (CommDb) |
|
26 API may be used to configure an Internet Access Point (IAP). To some extent |
|
27 it also shows the common paradigm for using most DBMS derived APIs.An |
|
28 Internet Access Point defines ISP, modem, charge card and location records |
|
29 that can be used together to make an Internet connection. The IAP for the |
|
30 RAS connection specifies an ISP and modem record (charge card and location |
|
31 records are required for this type of IAP). The CommDb is a standard DBMS |
|
32 database. Modems, ISPs, charge cards, locations, IAPs etc are all stored in |
|
33 their own tables within the database. There may be a number of records |
|
34 within each table (e.g., there may be a number of IAPs, modems, ISPs, etc.). |
|
35 As described in the preceding section, each IAP record defines the set of |
|
36 ISP, modem, charge card, and location that can be used together. In other |
|
37 words, an IAP record defines a set of records the other tables.The |
|
38 implication of the above statement is that sets of CommDb records are |
|
39 accessed through their associated table. The other implication is that you |
|
40 cannot create an IAP record until you have already created the other |
|
41 records. Finally, the fact that there may be many records in a table implies |
|
42 that each record must be uniquely identified.2. Copy an existing CommDb that |
|
43 has a correctly configured IAP. This method "works", but has several |
|
44 problems. Firstly, Symbian does not guarantee that the CommDb will be binary |
|
45 compatible between releases. In practice this has not been an issue, but it |
|
46 is something to keep in mind. Secondly, while you are using your RAS IAP, |
|
47 you don't have access to IAPs you configured in the "real" CommDb. Finally, |
|
48 and most importantly, CommDb configuration should be targeted to the |
|
49 platform; The CommDb that you use for RAS connections may well disable some |
|
50 of your other phone services.. Add an IAP to your existing (proven) CommDb |
|
51 using RAS IAP. The advantage of this method is that you get to retain the |
|
52 CommDb that your manufacturer put onto the phone, and therefore can expect |
|
53 the device to continue to work with the new IAP! Also, the CommDb API is |
|
54 binary compatible between releases, so you can rely on this method as you |
|
55 change phone. It is also by far the simplest method! Rather than coding the |
|
56 application from first principles, I used the standard Minimal Eikon |
|
57 Application Developer (MEAD) and Menu Builder tools to create an application |
|
58 that I could easily customize. I then modified the engine to write to the |
|
59 CommDb, and the UI to call the engine as appropriate. Each of these exports |
|
60 calls non-exported functions to actually implement the creation and deletion |
|
61 of the components of the IAP. The purpose of each function is documented in |
|
62 source, and the code itself is fairly self-documenting. Therefore rather |
|
63 than exhaustively re-describing the code, the following description |
|
64 discusses the main paradigms that you will see.First of all, there are two |
|
65 sequence diagrams present. The first one captures the course of events that |
|
66 takesplace when a digit button is pressed. The second captures what happens |
|
67 when the user pushes the 'send'button in order to make a call. At the top of |
|
68 each diagram we see the rectangles that represent objects. Asin |
|
69 collaboration diagrams, the names of the objects are underlined to |
|
70 distinguish them from classes. Alsothe object name is separated from the |
|
71 class name by a colon. Some objects, like the Dialer, have noparticular |
|
72 object name, so the colon precedes the class name without an object name in |
|
73 front of it.objects that they are connected to are in existence. In Figure |
|
74 2, we cannot see the full extent of thelifelines; they extend from the very |
|
75 top of the diagram to the very bottom. This implies that the |
|
76 objectsportrayed in this diagram are in existence before the start of time |
|
77 in the diagram and remain in existencebeyond the end of the diagram.The |
|
78 arrows between the lifelines represent messages being sent between the |
|
79 objects. Sequence umbers, algorithm.Here again we see two sequence diagrams. |
|
80 In these diagrams the activation ectangles have been omittedfor clarity4. |
|
81 The top diagram shows the normal course of events hen the cellular phone |
|
82 receives a call.The CellularRadio object detects the incoming call and |
|
83 sounds the ringer. It also tells the Dialler objectthat a call is coming in. |
|
84 This puts the Dialler in a special state. When the Send button is pushed |
|
85 while theDialler is in this special state, the Dialler sends the Answer |
|
86 message to the CellularRadio; thus connectingthe call. |
|
87 |
|
88 ------=_NextPart_000_0093_01C440F8.D5F5A850 |
|
89 Content-Type: image/jpeg; |
|
90 name="mw_logo.jpg" |
|
91 Content-Transfer-Encoding: base64 |
|
92 Content-Disposition: attachment; |
|
93 filename="mw_logo.jpg" |
|
94 |
|
95 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 |
|
160 |
|
161 ------=_NextPart_000_0093_01C440F8.D5F5A850-- |