Sales Conduit Based on Generic Conduit
Now that we have walked through
the creation of a mirror-image conduit created with a Generic
conduit, it is time to apply our knowledge to our own Sales example.
We will use the conduit we just created, named
SalesGen
, and add support for two-way syncing of
the Customers database. Next, we’ll extend the conduit to
upload the orders and download the products. Remember, our conduit
will support everything except categories (since we don’t use
them for our Customers).
We’ll be storing the customers in a tab-delimited text file
named Customers.txt. It’ll have one line
for each customer. Private customers will have a P
in the third from the last field whereas nonprivate customers will
have an empty string instead:
Cust ID
<tab>Name
<tab>Addr
<tab>City
<tab>Phone
<tab>P
<tab>unique ID
<tab>attrs Cust ID
<tab>Name
<tab>Addr
<tab>City
<tab>Phone
<tab><tab>unique ID
<tab>attrs
The unique ID is the record unique ID (as opposed to our separate
customer ID). The attrs
field is composed of a
number of characters:
-
N
New, added on the desktop
-
M
Modified since the last sync to the handheld (
M
andN
are exclusive)-
A
Archived
-
D
Deleted
CSalesGenPCMgr
Part of our conduit includes the custom class derived from
CPcMgr
(the Wizard created it). We will add three
new member functions (ReadString
,
ReadRecord
, WriteRecord
) to
it as well (see Example 16-9).
Example 16-9. CSalesGenPcMgr (emphasized code has been added)
class CSalesGenPcMgr : public CPcMgr { public: CSalesGenPcMgr(CPLogging ...
Get Palm OS Programming, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.