kpilot/lib
KPilotDeviceLink Class Reference
#include <kpilotdevicelink.h>
Inheritance diagram for KPilotDeviceLink:

Detailed Description
Implementation of the device link class for physical handheld devices, which communicate with the PC using DLP / SLP via the pilot-link library.
Definition at line 40 of file kpilotdevicelink.h.
Public Types | |
enum | LinkStatus { Init, WaitingForDevice, FoundDevice, CreatedSocket, DeviceOpen, AcceptedDevice, SyncDone, PilotLinkError, WorkaroundUSB } |
Public Member Functions | |
KPilotDeviceLink (QObject *parent=0, const char *name=0, const QString &tempDevice=QString::null) | |
virtual | ~KPilotDeviceLink () |
LinkStatus | status () const |
virtual QString | statusString () const |
virtual bool | isConnected () const |
virtual void | reset (const QString &) |
virtual void | close () |
virtual void | reset () |
virtual bool | tickle () |
virtual const KPilotCard * | getCardInfo (int card) |
virtual void | endOfSync () |
virtual void | finishSync () |
virtual int | openConduit () |
virtual int | getNextDatabase (int index, struct DBInfo *) |
virtual int | findDatabase (const char *name, struct DBInfo *, int index=0, unsigned long type=0, unsigned long creator=0) |
virtual bool | retrieveDatabase (const QString &path, struct DBInfo *db) |
virtual DBInfoList | getDBList (int cardno=0, int flags=dlpDBListRAM) |
virtual PilotDatabase * | database (const QString &name) |
void | setWorkarounds (bool usb) |
void | setTempDevice (const QString &device) |
Static Public Member Functions | |
static QString | statusString (LinkStatus l) |
Protected Types | |
enum | { OpenMessage = 1, OpenFailMessage = 2 } |
Protected Slots | |
void | openDevice () |
void | acceptDevice () |
Protected Member Functions | |
virtual bool | installFile (const QString &, const bool deleteFile) |
virtual void | addSyncLogEntryImpl (const QString &s) |
virtual int | pilotSocket () const |
bool | open (QString device=QString::null) |
void | checkDevice () |
void | shouldPrint (int, const QString &) |
Protected Attributes | |
int | messages |
int | messagesMask |
Static Protected Attributes | |
static const int | messagesType |
Friends | |
class | PilotSerialDatabase |
Member Enumeration Documentation
The link behaves like a state machine most of the time: it waits for the actual device to become available, and then becomes ready to handle syncing.
Definition at line 65 of file kpilotdevicelink.h.
anonymous enum [protected] |
Some messages are only printed once and are suppressed after that.
These are indicated by flag bits in messages.
Definition at line 173 of file kpilotdevicelink.h.
Constructor & Destructor Documentation
KPilotDeviceLink::KPilotDeviceLink | ( | QObject * | parent = 0 , |
|
const char * | name = 0 , |
|||
const QString & | tempDevice = QString::null | |||
) |
Creates a pilot link that can sync to the pilot.
Call reset() on it to start looking for a device.
Definition at line 329 of file kpilotlink.cc.
KPilotDeviceLink::~KPilotDeviceLink | ( | ) | [virtual] |
Destructor.
This rudely ends the communication with the handheld.
Definition at line 354 of file kpilotlink.cc.
Member Function Documentation
LinkStatus KPilotDeviceLink::status | ( | ) | const [inline] |
Get the status (state enum) of this link.
- Returns:
- The LinkStatus enum for the link's current state.
Definition at line 80 of file kpilotdevicelink.h.
QString KPilotDeviceLink::statusString | ( | LinkStatus | l | ) | [static] |
QString KPilotDeviceLink::statusString | ( | ) | const [virtual] |
Provides a human-readable status string.
Implements KPilotLink.
Definition at line 970 of file kpilotlink.cc.
bool KPilotDeviceLink::isConnected | ( | ) | const [virtual] |
True if HotSync has been started but not finished yet (ie.
the physical Pilot is waiting for sync commands)
Implements KPilotLink.
Definition at line 363 of file kpilotlink.cc.
void KPilotDeviceLink::reset | ( | const QString & | ) | [virtual] |
Return the device link to the Init state and try connecting to the given device path (if it's non-empty).
What the path means depends on the kind of link we're instantiating.
- See also:
- reset()
Implements KPilotLink.
Definition at line 402 of file kpilotlink.cc.
void KPilotDeviceLink::close | ( | ) | [virtual] |
Release all resources, including the master pilot socket, timers, notifiers, etc.
Implements KPilotLink.
Definition at line 369 of file kpilotlink.cc.
void KPilotDeviceLink::reset | ( | ) | [virtual] |
Assuming things have been set up at least once already by a call to reset() with parameters, use this slot to re-start with the same settings.
Implements KPilotLink.
Definition at line 433 of file kpilotlink.cc.
bool KPilotDeviceLink::tickle | ( | ) | [virtual] |
Tickle the underlying device exactly once.
Implements KPilotLink.
Definition at line 869 of file kpilotlink.cc.
const KPilotCard * KPilotDeviceLink::getCardInfo | ( | int | card | ) | [virtual] |
Retrieve information about the data card card
; I don't think that any pilot supports card numbers other than 0.
Non-device links return something fake.
This function may return NULL (non-device links or on error).
- Note:
- Ownership of the KPilotCard object is given to the caller, who must delete it.
Implements KPilotLink.
Definition at line 1096 of file kpilotlink.cc.
void KPilotDeviceLink::endOfSync | ( | ) | [virtual] |
End the sync in a gracuful manner.
Implements KPilotLink.
Definition at line 975 of file kpilotlink.cc.
void KPilotDeviceLink::finishSync | ( | ) | [virtual] |
End the sync in a graceful manner and update the last-sync time and user information on the handheld.
Implements KPilotLink.
Definition at line 982 of file kpilotlink.cc.
int KPilotDeviceLink::openConduit | ( | ) | [virtual] |
Notify the Pilot user that a conduit is running now.
On real devices, this prints out (on screen) which database is now opened; useful for progress reporting.
- Returns:
- -1 on error
- Note:
- the default implementation returns 0
Reimplemented from KPilotLink.
Definition at line 926 of file kpilotlink.cc.
int KPilotDeviceLink::getNextDatabase | ( | int | index, | |
struct DBInfo * | ||||
) | [virtual] |
Fill the DBInfo structure db
with information about the next database (in some ordering) counting from index
.
- Returns:
- < 0 on error
Implements KPilotLink.
Definition at line 998 of file kpilotlink.cc.
int KPilotDeviceLink::findDatabase | ( | const char * | name, | |
struct DBInfo * | , | |||
int | index = 0 , |
|||
unsigned long | type = 0 , |
|||
unsigned long | creator = 0 | |||
) | [virtual] |
Find a database with the given name
(and optionally, type type
and creator ID (from pi_mktag) creator
, on searching from index index
on the handheld.
Fills in the DBInfo structure if found, returns < 0 on error.
Implements KPilotLink.
Definition at line 1012 of file kpilotlink.cc.
bool KPilotDeviceLink::retrieveDatabase | ( | const QString & | path, | |
struct DBInfo * | db | |||
) | [virtual] |
Retrieve the database indicated by DBInfo *db
into the local file path
.
This copies all the data, and you can create a PilotLocalDatabase from the resulting path
.
- Returns:
true
on success
Implements KPilotLink.
Definition at line 1020 of file kpilotlink.cc.
DBInfoList KPilotDeviceLink::getDBList | ( | int | cardno = 0 , |
|
int | flags = dlpDBListRAM | |||
) | [virtual] |
Returns a list of DBInfo structures describing all the databases available on the link (ie.
device) with the given card number cardno
and flags flags
. No known handheld uses a cardno other than 0; use flags to indicate what kind of databases to fetch -- dlpDBListRAM
or dlpDBListROM
.
- Returns:
- list of DBInfo objects, one for each database
- Note:
- ownership of the DBInfo objects is passed to the caller, who must delete the objects.
Implements KPilotLink.
Definition at line 1063 of file kpilotlink.cc.
PilotDatabase * KPilotDeviceLink::database | ( | const QString & | name | ) | [virtual] |
Return a database object for manipulating the database with name name
on the link.
This database may be local or remote, depending on the kind of link in use.
- Returns:
- pointer to database object, or 0 on error.
- Note:
- ownership of the database object is given to the caller, who must delete the object in time.
Implements KPilotLink.
Definition at line 1123 of file kpilotlink.cc.
bool KPilotDeviceLink::installFile | ( | const QString & | , | |
const bool | deleteFile | |||
) | [protected, virtual] |
Install a single file onto the device link.
Full pathname f
is used; in addition, if deleteFile
is true remove the source file. Returns true
if the install succeeded.
The default
Implements KPilotLink.
Definition at line 882 of file kpilotlink.cc.
void KPilotDeviceLink::addSyncLogEntryImpl | ( | const QString & | s | ) | [protected, virtual] |
Actually write an entry to the device link.
The message s
is guaranteed to be non-Null.
Implements KPilotLink.
Definition at line 876 of file kpilotlink.cc.
virtual int KPilotDeviceLink::pilotSocket | ( | ) | const [inline, protected, virtual] |
Returns a file handle for raw operations.
Not recommended. On links with no physical device backing, returns -1.
- Note:
- the default implementation returns -1
Reimplemented from KPilotLink.
Definition at line 105 of file kpilotdevicelink.h.
void KPilotDeviceLink::setWorkarounds | ( | bool | usb | ) | [inline] |
Special-cases.
Call this after a reset to set device- specific workarounds; the only one currently known is the Zire 31/72 T5 quirk of doing a non-HotSync connect when it's switched on.
Definition at line 123 of file kpilotdevicelink.h.
void KPilotDeviceLink::setTempDevice | ( | const QString & | device | ) |
sets an additional device, which should be tried as fallback usefull for hotplug enviroments
Definition at line 476 of file kpilotlink.cc.
void KPilotDeviceLink::openDevice | ( | ) | [protected, slot] |
Attempt to open the device.
Called regularly to check if the device exists (to handle USB-style devices).
Definition at line 482 of file kpilotlink.cc.
void KPilotDeviceLink::acceptDevice | ( | ) | [protected, slot] |
Called when the device is opened *and* activity occurs on the device.
This indicates the beginning of a hotsync.
Definition at line 693 of file kpilotlink.cc.
bool KPilotDeviceLink::open | ( | QString | device = QString::null |
) | [protected] |
Does the low-level opening of the device and handles the pilot-link library initialisation.
Definition at line 518 of file kpilotlink.cc.
void KPilotDeviceLink::checkDevice | ( | ) | [protected] |
Check for device permissions and existence, emitting warnings for weird situations.
This is primarily intended to inform the user.
Definition at line 448 of file kpilotlink.cc.
The documentation for this class was generated from the following files: