Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 98d6b53e11e983e268c3e19f14e091a0 > files > 3573

kdepim-devel-doc-3.5.9-9mdv2008.1.x86_64.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">

<head>
  <title>kpilot/lib: KPilotLink Class Reference (kpilot/lib)</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <meta http-equiv="Content-Style-Type" content="text/css" />

  <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org"  r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org"  r (n 0 s 0 v 0 l 0))' />

  <meta name="trademark" content="KDE e.V." />
  <meta name="description" content="K Desktop Environment Homepage, KDE.org" />
  <meta name="MSSmartTagsPreventParsing" content="true" />
  <meta name="robots" content="all" />

  <link rel="shortcut icon" href="../../../favicon.ico" />

<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" />



<style type="text/css">
<!--
hr { display: none; }
#content h2 { margin-left: 0px; }
table.mdTable { background-color: #f8f8f8; border: .2em solid #d7d7d7; }
td.mdRow { padding: 8px 20px; }
td.md { font-weight: bold; }
td.mdname1 { font-weight: bold; color: #602020; }
td.mdname { font-weight: bold; color: #602020;  }

-->
</style>

</head>

<body>

<div id="nav_header_top" align="right">
  <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a>

  <a href="../../.."><img id="nav_header_logo" alt="Home" align="left" src="../../../kde_gear_64.png" border="0" /></a>
  <span class="doNotDisplay">::</span>
  <img id="nav_header_logo_right" alt="" align="right" src="../../../pimlogo.png" border="0" />

  <div id="nav_header_title" align="left">KDE PIM API Reference</div>


</div>

<div id="nav_header_bottom" align="right">
  <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span>
  <div id="nav_header_bottom_left" style="text-align: left;">
/ <a href="../../../">API Reference</a>
 / <a href="../../html/index.html">kpilot</a> / <a href=".">lib</a>
  </div>
</div>


<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
      <td valign="top" class="menuheader" height="0"></td>

  <td id="contentcolumn" valign="top" rowspan="2" >
    <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;">
    <h2><a name="content"></a>kpilot/lib</h2>


<!-- Generated by Doxygen 1.5.5 -->
<div class="contents">
<h1>KPilotLink Class Reference</h1><!-- doxytag: class="KPilotLink" --><!-- doxytag: inherits="QObject" --><code>#include &lt;<a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for KPilotLink:</div>
<div class="dynsection">

<p><center><img src="classKPilotLink.png" usemap="#KPilotLink_map" border="0" alt=""></center>
<map name="KPilotLink_map">
<area href="classKPilotDeviceLink.html" alt="KPilotDeviceLink" shape="rect" coords="0,56,107,80">
<area href="classKPilotLocalLink.html" alt="KPilotLocalLink" shape="rect" coords="117,56,224,80">
</map>
</div>

<p>
<a href="classKPilotLink-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> handles some aspects of communication with a Handheld. 
<p>
A <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> object represents a connection to a device (which may be active or inactive -- the latter in cases where the link is <em>waiting</em> for a device to show up). The object handles waiting, protocol initialization and some general tasks such as getting system information or user data.<p>
The actual communication with the handheld should use the <a class="el" href="classPilotDatabase.html" title="Methods to access a database on the pilot.">PilotDatabase</a> methods or use pilot-link dlp_* functions directly on the file descriptor returned by handle().<p>
Implementations of this abstract class are <a class="el" href="classKPilotDeviceLink.html" title="Definition of the device link class for physical handheld devices, which communicate...">KPilotDeviceLink</a> (for real physical devices) and <a class="el" href="classKPilotLocalLink.html" title="Implementation of the device link for file-system backed (ie.">KPilotLocalLink</a> (for devices represented by an on-disk directory).<h2><a class="anchor" name="General">
General</a></h2>
A <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> object (or one of its subclasses) represents a single (potential) link to a handheld device. The handheld device may be a real physical one (subclass <a class="el" href="classKPilotDeviceLink.html" title="Definition of the device link class for physical handheld devices, which communicate...">KPilotDeviceLink</a>) or a virtual one (subclass <a class="el" href="classKPilotLocalLink.html" title="Implementation of the device link for file-system backed (ie.">KPilotLocalLink</a>). Every <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> is associated with exactly one identifier for <em>what</em> device it is attached to. Physical devices have physical locations as interpreted by libpisock -- /dev/ttyUSB0 for instance, or net:any -- while virtual devices are associated with a location in the filesystem.<p>
A particular <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> object may be connected -- communicating with a device -- or not. For physical devices, that means that the device is attached to the system (for USB-connected devices, think of it as a metaphor in the case of net:any) and that the HotSync button has been pressed. Virtual devices are immediately connected on creation, since there is no sensible "not connected" state. A connected <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> has access to the data on the handheld and can give that data to the rest of the application.<p>
The data access API is divided into roughly three parts, with tickle handling being a special fourth part (see section below). These are:<p>
<ul>
<li>Message logging</li><li>System information access</li><li>Database access</li></ul>
<h2><a class="anchor" name="Lifecycle">
Lifecycle</a></h2>
The life-cycle of a <a class="el" href="classKPilotLink.html" title="KPilotLink handles some aspects of communication with a Handheld.">KPilotLink</a> object is as follows:<p>
# Object is created (one of the concrete subclasses, anyway) # Object gets a location assigned through <a class="el" href="classKPilotLink.html#8e50e930832f4c92adf53f5ebec8c55b" title="Return the device link to the Init state and try connecting to the given device path...">reset(const QString &amp;)</a> # Object is connected to the handheld device (somehow, depends on subclass) # Object emits signal <a class="el" href="classKPilotLink.html#484126de2ce41436c19c782bb0b5c075" title="Emitted once the user information has been read and the HotSync is really ready to...">deviceReady()</a><p>
After this, the application is free to use the API to access the information from the handheld. When the device connection is no longer needed, call either endOfSync() or finishSync() to wrap up the communications. The object remains alive and may be re-used by calling <a class="el" href="classKPilotLink.html#3e877d552e0ef8f12c36389a76cefd55" title="Assuming things have been set up at least once already by a call to reset() with...">reset()</a> to use the same location or <a class="el" href="classKPilotLink.html#8e50e930832f4c92adf53f5ebec8c55b" title="Return the device link to the Init state and try connecting to the given device path...">reset(const QString &amp;)</a> to give it a new location.<h2><a class="anchor" name="Tickle">
handling.</a></h2>
During a HotSync, the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> expects to be kept awake by (nearly) continuous communication with the PC. The <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> doesn't like long periods of inactivity, since they drain the batteries while the communications hardware is kept powered up. If the period of inactivity is too long, the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> times out, shuts down the communication, and the HotSync is broken.<p>
Sometimes, however, periods of inactivity cannot be avoided -- for instance, if you _have_ to ask the user something during a sync, or if you are fetching a large amount of data from a slow source (libkabc can do that, if your addressbook is on an LDAP server). During these periods of inactivity (as far as the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> can tell), you can "tickle" the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> to keep it awake. This prevents the communications from being shut down. It's not a good idea to do this all the time -- battery life and possible corruption of the dlp_ communications streams. Hence, you should start and stop tickling the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> around any computation which:<ul>
<li>may take a long time</li><li>does not in itself <em>ever</em> communicate directly with the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a></li></ul>
<p>
You can call slot <a class="el" href="classKPilotLink.html#a1aa03ed38c1c8940230fd66e6dfa1d2" title="Tickle the underlying device exactly once.">tickle()</a> whenever you like just to do a dlp_tickle() call on the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a>. It will return true if the tickle was successful, false otherwise (this can be used to detect if the communication with the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> has shut down for some reason).<p>
The protected methods <a class="el" href="classKPilotLink.html#9e6b72d4363b7d146c0830f6df08326b" title="Start tickling the Handheld (every few seconds).">startTickle()</a> and <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a> are intended to be called only from SyncActions -- I can't think of any other legitimate use, since everything being done during a HotSync is done via subclasses of SyncActions anyway, and SyncAction provides access to these methods though its own start- and <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a>.<p>
Call startTickle with a timeout in seconds, or 0 for no timeout. This timeout is _unrelated_ to the timeout in the Pilot's communications. Instead, it indicates how long to continue tickling the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> before emitting the <a class="el" href="classKPilotLink.html#1e598551691e3ed902af947d810be446" title="A timeout associated with tickling has occurred.">timeout()</a> signal. This can be useful for placing an upper bound on the amount of time to wait for, say, user interaction -- you don't want an inattentive user to drain the batteries during a sync because he doesn't click on "Yes" for some question. If you pass a timeout of 0, the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> will continue to be tickled until you call <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a>.<p>
Call <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a> to stop tickling the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> and continue with normal operation. You <em>must</em> call <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a> before calling anything else that might communicate with the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a>, to avoid corrupting the dlp_ communications stream. (TODO: Mutex the heck out of this to avoid this problem). Note that <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a> may hang up the caller for a small amount of time (up to 200ms) before returning.<p>
<a class="el" href="classKPilotLink.html#515938ea6d53c08f543db05913eaca86" title="Allows our class to receive custom events that our threads will be giving to us,...">event()</a> and TickleTimeoutEvent are part of the implementation of tickling, and are only accidentally visible.<p>
Signal <a class="el" href="classKPilotLink.html#1e598551691e3ed902af947d810be446" title="A timeout associated with tickling has occurred.">timeout()</a> is emitted if <a class="el" href="classKPilotLink.html#9e6b72d4363b7d146c0830f6df08326b" title="Start tickling the Handheld (every few seconds).">startTickle()</a> has been called with a non-zero timeout and that timeout has elapsed. The tickler is stopped before timeout is emitted. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00171">171</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c9">EndOfSyncFlags</a> { <a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c97ef56e417eaed4d3a65ee66b27caaa8b">NoUpdate</a>, 
<a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c985394b99f137dd96d2410e4a03729454">UpdateUserInfo</a>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#0ebed48f990103c6ee407a658f973324">CustomEvents</a> { <b>EventTickleTimeout</b> =  1066
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef QValueList&lt; struct DBInfo &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#a36b97890b47c51a47d2dcd60a84c1d3">DBInfoList</a></td></tr>

<tr><td colspan="2"><br><h2>Public Slots</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#c0ec64e0d61b0035ae93c130b77fe9bd">close</a> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#3e877d552e0ef8f12c36389a76cefd55">reset</a> ()=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#a1aa03ed38c1c8940230fd66e6dfa1d2">tickle</a> ()=0</td></tr>

<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#1e598551691e3ed902af947d810be446">timeout</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#3cd9fad622ffa521829d34532a95c30c">logMessage</a> (const QString &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#3900f1762d5e4ea34eb6e1a55d996495">logError</a> (const QString &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#1aac46c985996eedbbfbe7c72dd26e8f">logProgress</a> (const QString &amp;s, int p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#484126de2ce41436c19c782bb0b5c075">deviceReady</a> (<a class="el" href="classKPilotLink.html">KPilotLink</a> *)</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#8987bf64beac3ed13f0421fbeb7e0d3b">KPilotLink</a> (QObject *parent=0, const char *name=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#b6c3b63bd9e6da13c7b79f9947460857">~KPilotLink</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#b033fdc1c4365a18d6c6d63c3d92b0fc">statusString</a> () const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#0d5cf7168473128b7b082876e892d536">isConnected</a> () const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#17da9e490e5929d6b5ada57b9488b85b">pilotPath</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#8e50e930832f4c92adf53f5ebec8c55b">reset</a> (const QString &amp;pilotPath)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#515938ea6d53c08f543db05913eaca86">event</a> (QEvent *e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#0da288bdf937788dbd248a5ecd3007c0">installFiles</a> (const QStringList &amp;l, const bool deleteFiles)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#326f972174eb56ce38050d9783620590">addSyncLogEntry</a> (const QString &amp;entry, bool log=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#2ad0890c23f6ddea8032eb44be665c79">findDatabase</a> (const char *name, struct DBInfo *info, int index=0, unsigned long type=0, unsigned long creator=0)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#1f99fd2affb3555a87811db2568c9ea0">retrieveDatabase</a> (const QString &amp;path, struct DBInfo *db)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#8ba42e37753719be725e16096e82ac57">getNextDatabase</a> (int index, struct DBInfo *db)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classKPilotLink.html#a36b97890b47c51a47d2dcd60a84c1d3">DBInfoList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#d385f4be335cf3cb503b8a6164a4d70d">getDBList</a> (int cardno=0, int flags=dlpDBListRAM)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPilotDatabase.html">PilotDatabase</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#94735b8dc57f66856f805b67945c5b7e">database</a> (const QString &amp;name)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPilotDatabase.html">PilotDatabase</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#28d2ba9733e1a839ffba55c65ed186fe">database</a> (const DBInfo *info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KPilotUser &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#5aa7b902245c4533efa16eebb6454eaf">getPilotUser</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const KPilotSysInfo &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#db6b9c0b9c02333dd9e5bc65e44ed84e">getSysInfo</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const KPilotCard *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#12ac9c13081d1205f243c3aeae0cf5c3">getCardInfo</a> (int card=0)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#6a4e594890e7f2c8058802c619912fe9">endSync</a> (<a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c9">EndOfSyncFlags</a> f)=0</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#9e6b72d4363b7d146c0830f6df08326b">startTickle</a> (unsigned int timeout=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25">stopTickle</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#1f0a3f6c244b3324ecd44b8b1135e3b5">installFile</a> (const QString &amp;f, const bool deleteFile)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#601d9f9b8455f186ab2fe96128f05615">openConduit</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#12c8cf7bd8cc77246a8ca47ce23877ec">pilotSocket</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#8b1f27c4461a0f91589e9e34b0e46812">addSyncLogEntryImpl</a> (const QString &amp;s)=0</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#49e621f9a9aaea2e96bae802fa3b9cea">fPilotPath</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KPilotUser *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#1e899f38254dd6afc3067726d1a08aa9">fPilotUser</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">KPilotSysInfo *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKPilotLink.html#6cc39da0ab26bde7a7c88193028bb500">fPilotSysInfo</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bc09d855ce89461af009e0837e9ba7d"></a><!-- doxytag: member="KPilotLink::SyncAction" ref="0bc09d855ce89461af009e0837e9ba7d" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SyncAction</b></td></tr>

</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="a36b97890b47c51a47d2dcd60a84c1d3"></a><!-- doxytag: member="KPilotLink::DBInfoList" ref="a36b97890b47c51a47d2dcd60a84c1d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef QValueList&lt;struct DBInfo&gt; <a class="el" href="classKPilotLink.html#a36b97890b47c51a47d2dcd60a84c1d3">KPilotLink::DBInfoList</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A list of DBInfo structures. 
<p>

<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00177">177</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="61758d52e6a0684866d82f5ba224f8c9"></a><!-- doxytag: member="KPilotLink::EndOfSyncFlags" ref="61758d52e6a0684866d82f5ba224f8c9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c9">KPilotLink::EndOfSyncFlags</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When ending the sync, you can do so gracefully, updating the last-sync time to indicate a successful sync and setting the user name on the device, or you can skip that (for unsuccessful syncs, generally). 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="61758d52e6a0684866d82f5ba224f8c97ef56e417eaed4d3a65ee66b27caaa8b"></a><!-- doxytag: member="NoUpdate" ref="61758d52e6a0684866d82f5ba224f8c97ef56e417eaed4d3a65ee66b27caaa8b" args="" -->NoUpdate</em>&nbsp;</td><td>
Do not update the user info. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="61758d52e6a0684866d82f5ba224f8c985394b99f137dd96d2410e4a03729454"></a><!-- doxytag: member="UpdateUserInfo" ref="61758d52e6a0684866d82f5ba224f8c985394b99f137dd96d2410e4a03729454" args="" -->UpdateUserInfo</em>&nbsp;</td><td>
Update user info and last successful sync date. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00359">359</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0ebed48f990103c6ee407a658f973324"></a><!-- doxytag: member="KPilotLink::CustomEvents" ref="0ebed48f990103c6ee407a658f973324" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classKPilotLink.html#0ebed48f990103c6ee407a658f973324">KPilotLink::CustomEvents</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Custom events we can be handling. 
<p>
.. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00367">367</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="8987bf64beac3ed13f0421fbeb7e0d3b"></a><!-- doxytag: member="KPilotLink::KPilotLink" ref="8987bf64beac3ed13f0421fbeb7e0d3b" args="(QObject *parent=0, const char *name=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KPilotLink::KPilotLink           </td>
          <td>(</td>
          <td class="paramtype">QObject *&nbsp;</td>
          <td class="paramname"> <em>parent</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>
Use <a class="el" href="classKPilotLink.html#3e877d552e0ef8f12c36389a76cefd55" title="Assuming things have been set up at least once already by a call to reset() with...">reset()</a> to start looking for a device. 
<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00140">140</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="b6c3b63bd9e6da13c7b79f9947460857"></a><!-- doxytag: member="KPilotLink::~KPilotLink" ref="b6c3b63bd9e6da13c7b79f9947460857" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KPilotLink::~KPilotLink           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>
This rudely interrupts any communication in progress. It is best to call endOfSync() or finishSync() before destroying the device. 
<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00165">165</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b033fdc1c4365a18d6c6d63c3d92b0fc"></a><!-- doxytag: member="KPilotLink::statusString" ref="b033fdc1c4365a18d6c6d63c3d92b0fc" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual QString KPilotLink::statusString           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Provides a human-readable status string. 
<p>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#19b0915f37803193e5b32c527a8b8505">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#7a9bba30313df9e1b7493a2bf2f4277f">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="0d5cf7168473128b7b082876e892d536"></a><!-- doxytag: member="KPilotLink::isConnected" ref="0d5cf7168473128b7b082876e892d536" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool KPilotLink::isConnected           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
True if HotSync has been started but not finished yet (ie. 
<p>
the physical <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> is waiting for sync commands) 
<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#63a66d4f73bce3cc1ac185233258d3e9">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#0a5014385a9de63bba1951744b2f4236">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="17da9e490e5929d6b5ada57b9488b85b"></a><!-- doxytag: member="KPilotLink::pilotPath" ref="17da9e490e5929d6b5ada57b9488b85b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString KPilotLink::pilotPath           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Information on what kind of device we're dealing with. 
<p>
A link is associated with a path -- either the node in /dev that the physical device is attached to, or an IP address, or a filesystem path for local links. Whichever is being used, this function returns its name in a human-readable form. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00207">207</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e50e930832f4c92adf53f5ebec8c55b"></a><!-- doxytag: member="KPilotLink::reset" ref="8e50e930832f4c92adf53f5ebec8c55b" args="(const QString &amp;pilotPath)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KPilotLink::reset           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>pilotPath</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the device link to the Init state and try connecting to the given device path (if it's non-empty). 
<p>
What the path means depends on the kind of link we're instantiating.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classKPilotLink.html#3e877d552e0ef8f12c36389a76cefd55" title="Assuming things have been set up at least once already by a call to reset() with...">reset()</a> <p>
<a class="el" href="classKPilotLink.html#17da9e490e5929d6b5ada57b9488b85b" title="Information on what kind of device we&#39;re dealing with.">pilotPath()</a> </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#997017c2733fb8fbba41a3a34857263f">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#980f2b3fe66f326b258b146369fd593b">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="515938ea6d53c08f543db05913eaca86"></a><!-- doxytag: member="KPilotLink::event" ref="515938ea6d53c08f543db05913eaca86" args="(QEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool KPilotLink::event           </td>
          <td>(</td>
          <td class="paramtype">QEvent *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allows our class to receive custom events that our threads will be giving to us, including tickle timeouts and device communication events. 
<p>

<p>Reimplemented in <a class="el" href="classKPilotDeviceLink.html#01525c65efacfee53bff912c13db8bb7">KPilotDeviceLink</a>.</p>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00172">172</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="0da288bdf937788dbd248a5ecd3007c0"></a><!-- doxytag: member="KPilotLink::installFiles" ref="0da288bdf937788dbd248a5ecd3007c0" args="(const QStringList &amp;l, const bool deleteFiles)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int KPilotLink::installFiles           </td>
          <td>(</td>
          <td class="paramtype">const QStringList &amp;&nbsp;</td>
          <td class="paramname"> <em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>deleteFiles</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Install the list of files (full paths!) named by <code>l</code> onto the handheld (or whatever this link represents). 
<p>
If <code>deleteFiles</code> is true, the source files are removed.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of files successfully installed. </dd></dl>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00221">221</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="326f972174eb56ce38050d9783620590"></a><!-- doxytag: member="KPilotLink::addSyncLogEntry" ref="326f972174eb56ce38050d9783620590" args="(const QString &amp;entry, bool log=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::addSyncLogEntry           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>entry</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>log</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a log entry to the handheld. 
<p>
If <code>log</code> is true, then the signal <a class="el" href="classKPilotLink.html#3cd9fad622ffa521829d34532a95c30c" title="Signal that a message has been written to the sync log.">logMessage()</a> is also emitted. This function is supposed to <em>only</em> write to the handheld's log (with a physical device, that is what appears on screen at the end of a sync). 
<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00244">244</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ad0890c23f6ddea8032eb44be665c79"></a><!-- doxytag: member="KPilotLink::findDatabase" ref="2ad0890c23f6ddea8032eb44be665c79" args="(const char *name, struct DBInfo *info, int index=0, unsigned long type=0, unsigned long creator=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int KPilotLink::findDatabase           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct DBInfo *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>index</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>type</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>creator</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find a database with the given <code>name</code> (and optionally, type <code>type</code> and creator ID (from pi_mktag) <code>creator</code>, on searching from index <code>index</code> on the handheld. 
<p>
Fills in the DBInfo structure <code>info</code> if found.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>&gt;=0 on success. See the documentation for each subclass for particular meanings. <p>
&lt; 0 on error. </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#de0eb7ed274842e4285b85b218b6f292">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#f75edcd0721edafe4261a9dae9d87fc3">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f99fd2affb3555a87811db2568c9ea0"></a><!-- doxytag: member="KPilotLink::retrieveDatabase" ref="1f99fd2affb3555a87811db2568c9ea0" args="(const QString &amp;path, struct DBInfo *db)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool KPilotLink::retrieveDatabase           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct DBInfo *&nbsp;</td>
          <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the database indicated by DBInfo <code>*db</code> into the local file <code>path</code>. 
<p>
This copies all the data, and you can create a <a class="el" href="classPilotLocalDatabase.html" title="PilotLocalDatabase represents databases in the same binary format as on the handheld...">PilotLocalDatabase</a> from the resulting <code>path</code> .<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> on success </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#9fc53fd112900f26760a093709b9c82a">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#c4568ffef037ed5833412ab0c30799ba">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ba42e37753719be725e16096e82ac57"></a><!-- doxytag: member="KPilotLink::getNextDatabase" ref="8ba42e37753719be725e16096e82ac57" args="(int index, struct DBInfo *db)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int KPilotLink::getNextDatabase           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct DBInfo *&nbsp;</td>
          <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fill the DBInfo structure <code>db</code> with information about the next database (in some ordering) counting from <code>index</code>. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>&lt; 0 on error </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#b3e1e57ce7870b2a3dc04be1fd036066">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#7af60c3114cebaf0d9371c36aafeea74">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="d385f4be335cf3cb503b8a6164a4d70d"></a><!-- doxytag: member="KPilotLink::getDBList" ref="d385f4be335cf3cb503b8a6164a4d70d" args="(int cardno=0, int flags=dlpDBListRAM)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classKPilotLink.html#a36b97890b47c51a47d2dcd60a84c1d3">DBInfoList</a> KPilotLink::getDBList           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>cardno</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flags</em> = <code>dlpDBListRAM</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a list of DBInfo structures describing all the databases available on the link (ie. 
<p>
device) with the given card number <code>cardno</code> and flags <code>flags</code>. No known handheld uses a cardno other than 0; use flags to indicate what kind of databases to fetch -- <code>dlpDBListRAM</code> or <code>dlpDBListROM</code>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>list of DBInfo objects, one for each database </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>ownership of the DBInfo objects is passed to the caller, who must delete the objects. </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#5878a9b7a49f69b0cb71a0251ee0f412">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#e414124a0c710d1563cc5ecdabd73610">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="94735b8dc57f66856f805b67945c5b7e"></a><!-- doxytag: member="KPilotLink::database" ref="94735b8dc57f66856f805b67945c5b7e" args="(const QString &amp;name)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPilotDatabase.html">PilotDatabase</a>* KPilotLink::database           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a database object for manipulating the database with name <code>name</code> on the link. 
<p>
This database may be local or remote, depending on the kind of link in use.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to database object, or 0 on error. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>ownership of the database object is given to the caller, who must delete the object in time. </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#b7f7e09a732403d532457f87c623fece">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#c2c221a7cbeeecb373b68cff65ad2ef6">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="28d2ba9733e1a839ffba55c65ed186fe"></a><!-- doxytag: member="KPilotLink::database" ref="28d2ba9733e1a839ffba55c65ed186fe" args="(const DBInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPilotDatabase.html">PilotDatabase</a> * KPilotLink::database           </td>
          <td>(</td>
          <td class="paramtype">const DBInfo *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a database object for manipulating the database with the name stored in the DBInfo structure <code>info</code> . 
<p>
The default version goes through method <a class="el" href="classKPilotLink.html#94735b8dc57f66856f805b67945c5b7e" title="Return a database object for manipulating the database with name name on the link...">database( const QString &amp; )</a>, above.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to database object, or 0 on error. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>ownership of the database object is given to the caller. </dd></dl>

<p>Reimplemented in <a class="el" href="classKPilotDeviceLink.html#2bf83ecafe0f72ff4765a11cc0780cd7">KPilotDeviceLink</a>.</p>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00267">267</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="5aa7b902245c4533efa16eebb6454eaf"></a><!-- doxytag: member="KPilotLink::getPilotUser" ref="5aa7b902245c4533efa16eebb6454eaf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KPilotUser&amp; KPilotLink::getPilotUser           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the user information from the device. 
<p>
Ownership is kept by the link, and at the end of a sync the user information is synced back to the link -- so it may be modified, but don't make local copies of it.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Do not call this before the sync begins! </dd></dl>

<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00323">323</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="db6b9c0b9c02333dd9e5bc65e44ed84e"></a><!-- doxytag: member="KPilotLink::getSysInfo" ref="db6b9c0b9c02333dd9e5bc65e44ed84e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const KPilotSysInfo&amp; KPilotLink::getSysInfo           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
System information about the handheld. 
<p>
Ownership is kept by the link. For non-device links, something fake is returned.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Do not call this before the sync begins! </dd></dl>

<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00335">335</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="12ac9c13081d1205f243c3aeae0cf5c3"></a><!-- doxytag: member="KPilotLink::getCardInfo" ref="12ac9c13081d1205f243c3aeae0cf5c3" args="(int card=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const KPilotCard* KPilotLink::getCardInfo           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>card</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve information about the data card <code>card</code>; I don't think that any pilot supports card numbers other than 0. 
<p>
Non-device links return something fake.<p>
This function may return NULL (non-device links or on error).<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Ownership of the KPilotCard object is given to the caller, who must delete it. </dd></dl>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#a6dee82037705d799d978b247360b327">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#deab871b6378afdd08e66e7aae425f89">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="6a4e594890e7f2c8058802c619912fe9"></a><!-- doxytag: member="KPilotLink::endSync" ref="6a4e594890e7f2c8058802c619912fe9" args="(EndOfSyncFlags f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KPilotLink::endSync           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPilotLink.html#61758d52e6a0684866d82f5ba224f8c9">EndOfSyncFlags</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End the sync in a gracuful manner. 
<p>
If <code>f</code> is UpdateUserInfo, the sync was successful and the user info and last successful sync timestamp are updated. 
<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#06c7682d047d5c3a37adbaf59116a213">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#65c550e501c7e1e411d5a2d2c60008f6">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="1e598551691e3ed902af947d810be446"></a><!-- doxytag: member="KPilotLink::timeout" ref="1e598551691e3ed902af947d810be446" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::timeout           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A timeout associated with tickling has occurred. 
<p>
Each time <a class="el" href="classKPilotLink.html#9e6b72d4363b7d146c0830f6df08326b" title="Start tickling the Handheld (every few seconds).">startTickle()</a> is called, you can state how long tickling should last (at most) before timing out.<p>
You can only get a timeout when the Qt event loop is running, which somewhat limits the usefulness of timeouts. 
</div>
</div><p>
<a class="anchor" name="3cd9fad622ffa521829d34532a95c30c"></a><!-- doxytag: member="KPilotLink::logMessage" ref="3cd9fad622ffa521829d34532a95c30c" args="(const QString &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::logMessage           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signal that a message has been written to the sync log. 
<p>

</div>
</div><p>
<a class="anchor" name="3900f1762d5e4ea34eb6e1a55d996495"></a><!-- doxytag: member="KPilotLink::logError" ref="3900f1762d5e4ea34eb6e1a55d996495" args="(const QString &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::logError           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signal that an error has occurred, for logging. 
<p>

</div>
</div><p>
<a class="anchor" name="1aac46c985996eedbbfbe7c72dd26e8f"></a><!-- doxytag: member="KPilotLink::logProgress" ref="1aac46c985996eedbbfbe7c72dd26e8f" args="(const QString &amp;s, int p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::logProgress           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signal that progress has been made, for logging purposes. 
<p>
<code>p</code> is the percentage completed (0 &lt;= s &lt;= 100). The string <code>s</code> is logged as well, if non-Null. 
</div>
</div><p>
<a class="anchor" name="484126de2ce41436c19c782bb0b5c075"></a><!-- doxytag: member="KPilotLink::deviceReady" ref="484126de2ce41436c19c782bb0b5c075" args="(KPilotLink *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::deviceReady           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classKPilotLink.html">KPilotLink</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Emitted once the user information has been read and the HotSync is really ready to go. 
<p>

</div>
</div><p>
<a class="anchor" name="c0ec64e0d61b0035ae93c130b77fe9bd"></a><!-- doxytag: member="KPilotLink::close" ref="c0ec64e0d61b0035ae93c130b77fe9bd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KPilotLink::close           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Release all resources, including the master pilot socket, timers, etc. 
<p>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#b7e0347f592550521f4c967975e66d1c">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#9621ac0835d3a646e434afe52244a2f5">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="3e877d552e0ef8f12c36389a76cefd55"></a><!-- doxytag: member="KPilotLink::reset" ref="3e877d552e0ef8f12c36389a76cefd55" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KPilotLink::reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assuming things have been set up at least once already by a call to <a class="el" href="classKPilotLink.html#3e877d552e0ef8f12c36389a76cefd55" title="Assuming things have been set up at least once already by a call to reset() with...">reset()</a> with parameters, use this slot to re-start with the same settings. 
<p>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#cbf1ed11ea1969ebbebf0970d1eae9c3">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#9470de850efffba547c6d1d20260819f">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="a1aa03ed38c1c8940230fd66e6dfa1d2"></a><!-- doxytag: member="KPilotLink::tickle" ref="a1aa03ed38c1c8940230fd66e6dfa1d2" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool KPilotLink::tickle           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tickle the underlying device exactly once. 
<p>

<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#4827a40029f4afa11448a8e62773221e">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#e1e3ac500f51936d891f7d7d26fde076">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="9e6b72d4363b7d146c0830f6df08326b"></a><!-- doxytag: member="KPilotLink::startTickle" ref="9e6b72d4363b7d146c0830f6df08326b" args="(unsigned int timeout=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::startTickle           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start tickling the Handheld (every few seconds). 
<p>
This lasts until <code>timeout</code> seconds have passed (or forever if <code>timeout</code> is zero).<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Do not call <a class="el" href="classKPilotLink.html#9e6b72d4363b7d146c0830f6df08326b" title="Start tickling the Handheld (every few seconds).">startTickle()</a> twice with no intervening <a class="el" href="classKPilotLink.html#5387c919ad6b5a431f53717654edfc25" title="Stop tickling the Handheld.">stopTickle()</a>. </dd></dl>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00186">186</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="5387c919ad6b5a431f53717654edfc25"></a><!-- doxytag: member="KPilotLink::stopTickle" ref="5387c919ad6b5a431f53717654edfc25" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void KPilotLink::stopTickle           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop tickling the Handheld. 
<p>
This may block for some time (less than a second) to allow the tickle thread to finish. 
<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00210">210</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f0a3f6c244b3324ecd44b8b1135e3b5"></a><!-- doxytag: member="KPilotLink::installFile" ref="1f0a3f6c244b3324ecd44b8b1135e3b5" args="(const QString &amp;f, const bool deleteFile)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool KPilotLink::installFile           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>deleteFile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Install a single file onto the device link. 
<p>
Full pathname <code>f</code> is used; in addition, if <code>deleteFile</code> is true remove the source file. Returns <code>true</code> if the install succeeded. 
<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#d4162fd05917ccc1be4083050e1bada9">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#7f87e4144e371069987be805918b6960">KPilotLocalLink</a>.</p>

</div>
</div><p>
<a class="anchor" name="601d9f9b8455f186ab2fe96128f05615"></a><!-- doxytag: member="KPilotLink::openConduit" ref="601d9f9b8455f186ab2fe96128f05615" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KPilotLink::openConduit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Notify the <a class="el" href="namespacePilot.html" title="The Pilot namespace holds constants that are global for the handheld data structures...">Pilot</a> user that a conduit is running now. 
<p>
On real devices, this prints out (on screen) which database is now opened; useful for progress reporting.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>-1 on error </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>the default implementation returns 0 </dd></dl>

<p>Reimplemented in <a class="el" href="classKPilotDeviceLink.html#e9be6b060599f0243c354ba7072e0310">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#fdc04ebf3e17d6ace9854a2543db0240">KPilotLocalLink</a>.</p>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00257">257</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="12c8cf7bd8cc77246a8ca47ce23877ec"></a><!-- doxytag: member="KPilotLink::pilotSocket" ref="12c8cf7bd8cc77246a8ca47ce23877ec" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int KPilotLink::pilotSocket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a file handle for raw operations. 
<p>
Not recommended. On links with no physical device backing, returns -1.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>the default implementation returns -1 </dd></dl>

<p>Reimplemented in <a class="el" href="classKPilotDeviceLink.html#8b128f57d6ce5004fc928d5b3ca31542">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#457309503c1c5c2c4883163c6740ee08">KPilotLocalLink</a>.</p>

<p>Definition at line <a class="el" href="kpilotlink_8cc-source.html#l00262">262</a> of file <a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="8b1f27c4461a0f91589e9e34b0e46812"></a><!-- doxytag: member="KPilotLink::addSyncLogEntryImpl" ref="8b1f27c4461a0f91589e9e34b0e46812" args="(const QString &amp;s)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void KPilotLink::addSyncLogEntryImpl           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Actually write an entry to the device link. 
<p>
The message <code>s</code> must be guaranteed non-empty. 
<p>Implemented in <a class="el" href="classKPilotDeviceLink.html#87873247d80d8e3304de111e1cb33fb4">KPilotDeviceLink</a>, and <a class="el" href="classKPilotLocalLink.html#3b61d24f5f413645050b9dc43604205e">KPilotLocalLink</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="49e621f9a9aaea2e96bae802fa3b9cea"></a><!-- doxytag: member="KPilotLink::fPilotPath" ref="49e621f9a9aaea2e96bae802fa3b9cea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString <a class="el" href="classKPilotLink.html#49e621f9a9aaea2e96bae802fa3b9cea">KPilotLink::fPilotPath</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Path of the device special file that will be used. 
<p>
Usually /dev/pilot, /dev/ttySx, or /dev/usb/x. May be a filesystem path for local links. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00432">432</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1e899f38254dd6afc3067726d1a08aa9"></a><!-- doxytag: member="KPilotLink::fPilotUser" ref="1e899f38254dd6afc3067726d1a08aa9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KPilotUser* <a class="el" href="classKPilotLink.html#1e899f38254dd6afc3067726d1a08aa9">KPilotLink::fPilotUser</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
User information structure. 
<p>
Should be filled in when a sync starts, so that conduits can use the information. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00486">486</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6cc39da0ab26bde7a7c88193028bb500"></a><!-- doxytag: member="KPilotLink::fPilotSysInfo" ref="6cc39da0ab26bde7a7c88193028bb500" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KPilotSysInfo* <a class="el" href="classKPilotLink.html#6cc39da0ab26bde7a7c88193028bb500">KPilotLink::fPilotSysInfo</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
System information about the device. 
<p>
Filled in when the sync starts. Non-device links need to fake something. 
<p>Definition at line <a class="el" href="kpilotlink_8h-source.html#l00492">492</a> of file <a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="kpilotlink_8h-source.html">kpilotlink.h</a><li><a class="el" href="kpilotlink_8cc-source.html">kpilotlink.cc</a></ul>
</div>
    </div></div>


      </td>
  </tr>
  <tr>
    <td valign="top" id="leftmenu" width="25%">
      <a name="navigation"></a>
      <div class="menu_box"><h2>kpilot/lib</h2>
<div class="nav_list">
<ul><li><a href="index.html">Main Page</a></li><li><a href="namespaces.html">Namespace List</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="namespacemembers.html">Namespace Members</a></li><li><a href="functions.html">Class Members</a></li></ul>
<!--
<h2>Class Picker</h2>
<div style="text-align: center;">
<form name="guideform">
<select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value">
<option value="annotated.html">-- Choose --</option>
  <option value="classActionQueue.html">actionqueue</option>,  <option value="classCleanupAction.html">cleanupaction</option>,  <option value="classConduitAction.html">conduitaction</option>,  <option value="classConduitConfigBase.html">conduitconfigbase</option>,  <option value="classConduitFactory.html">conduitfactory</option>,  <option value="classConduitProxy.html">conduitproxy</option>,  <option value="classCUDCounter.html">cudcounter</option>,  <option value="classDatabaseInterpreter.html">databaseinterpreter</option>,  <option value="classDeviceCommThread.html">devicecommthread</option>,  <option value="classIDMapper.html">idmapper</option>,  <option value="classKPilotDeviceLink.html">kpilotdevicelink</option>,  <option value="classKPilotLink.html">kpilotlink</option>,  <option value="classKPilotLocalLink.html">kpilotlocallink</option>,  <option value="classNullMapper.html">nullmapper</option>,  <option value="classPhoneSlot.html">phoneslot</option>,  <option value="classPilotAddress.html">pilotaddress</option>,  <option value="classPilotAppInfo.html">pilotappinfo</option>,  <option value="classPilotAppInfoBase.html">pilotappinfobase</option>,  <option value="classPilotDatabase.html">pilotdatabase</option>,  <option value="classPilotDateEntry.html">pilotdateentry</option>,  <option value="classPilotLocalDatabase.html">pilotlocaldatabase</option>,  <option value="classPilotRecord.html">pilotrecord</option>,  <option value="classPilotRecordBase.html">pilotrecordbase</option>,  <option value="classPilotSerialDatabase.html">pilotserialdatabase</option>,  <option value="classPilotTodoEntry.html">pilottodoentry</option>,  <option value="classRecordConduitBase.html">recordconduitbase</option>,  <option value="classSorryAction.html">sorryaction</option>,  <option value="classSyncAction_1_1SyncMode.html">syncaction::syncmode</option>,  <option value="classTestLink.html">testlink</option>,  <option value="classWelcomeAction.html">welcomeaction</option>,
</select>
</form>
</div>
-->
</div></div>
<div class="menu_box"><h2>API Dox</h2>
<div class="nav_list">
<ul>
<li><a href="../../../akregator/html/index.html">akregator</a></li><li>&nbsp;&nbsp;<a href="../../../akregator/src/html/index.html">src</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../../akregator/src/librss/html/index.html">librss</a></li><li><a href="../../../certmanager/html/index.html">certmanager</a></li><li>&nbsp;&nbsp;<a href="../../../certmanager/lib/html/index.html">lib</a></li><li><a href="../../../kaddressbook/html/index.html">kaddressbook</a></li><li><a href="../../../kalarm/html/index.html">kalarm</a></li><li>&nbsp;&nbsp;<a href="../../../kalarm/lib/html/index.html">lib</a></li><li><a href="../../../kandy/html/index.html">kandy</a></li><li><a href="../../../karm/html/index.html">karm</a></li><li><a href="../../../kdgantt/html/index.html">kdgantt</a></li><li><a href="../../../kgantt/html/index.html">kgantt</a></li><li><a href="../../../kioslaves/html/index.html">kioslaves</a></li><li>&nbsp;&nbsp;<a href="../../../kioslaves/imap4/html/index.html">imap4</a></li><li>&nbsp;&nbsp;<a href="../../../kioslaves/mbox/html/index.html">mbox</a></li><li><a href="../../../kitchensync/html/index.html">kitchensync</a></li><li><a href="../../../kmail/html/index.html">kmail</a></li><li><a href="../../../knotes/html/index.html">knotes</a></li><li><a href="../../../konsolekalendar/html/index.html">konsolekalendar</a></li><li><a href="../../../kontact/html/index.html">kontact</a></li><li><a href="../../../korganizer/html/index.html">korganizer</a></li><li><a href="../../../kpilot/html/index.html">kpilot</a></li><li>&nbsp;&nbsp;<a href="../../../kpilot/kpilot/html/index.html">kpilot</a></li><li>&nbsp;&nbsp;<a href="../../../kpilot/lib/html/index.html">lib</a></li><li><a href="../../../libemailfunctions/html/index.html">libemailfunctions</a></li><li><a href="../../../libkcal/html/index.html">libkcal</a></li><li><a href="../../../libkdepim/html/index.html">libkdepim</a></li><li><a href="../../../libkholidays/html/index.html">libkholidays</a></li><li><a href="../../../libkmime/html/index.html">libkmime</a></li><li><a href="../../../libkpgp/html/index.html">libkpgp</a></li><li><a href="../../../libkpimidentities/html/index.html">libkpimidentities</a></li>
</ul></div></div>


        </td>
</tr>
</table>

<span class="doNotDisplay">
  <a href="http://www.kde.org/" accesskey="8">KDE Home</a> |
  <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> |
  <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a>
</span>


<div style="height: 8px"></div>

<div id="footer">
  <div id="footer_left">
    Maintained by <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;groo&#116;&#64;kde&#46;or&#x67;">Adriaan de Groot</a>
and
<a href="&#109;a&#105;&#108;&#116;&#111;&#58;w&#105;nter&#64;kde&#46;or&#x67">Allen Winter</a>.
<br/>
    KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> |
    <a href="http://www.kde.org/contact/impressum.php">Legal</a>
  </div>
  <div id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div>
</div>

<!--
WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL
BE BLOCKED INSTANTLY AND PERMANENTLY!
<a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a>
WARNING END
-->

</body>
</html>