diff options
Diffstat (limited to 'kpilot/lib/pilotUser.h')
-rw-r--r-- | kpilot/lib/pilotUser.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/kpilot/lib/pilotUser.h b/kpilot/lib/pilotUser.h new file mode 100644 index 000000000..6ba46b007 --- /dev/null +++ b/kpilot/lib/pilotUser.h @@ -0,0 +1,128 @@ +#ifndef _KPILOT_PILOTUSER_H +#define _KPILOT_PILOTUSER_H +/* pilotUser.h KPilot +** +** Copyright (C) 1998-2001 by Dan Pilone +** +** Wrapper for the PilotUser struct from pilot-link, which describes +** the user-data set in the Pilot. +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program in a file called COPYING; if not, write to +** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +** MA 02110-1301, USA. +*/ + +/* +** Bug reports and questions can be sent to [email protected] +*/ + +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include <pi-dlp.h> + +#include "pilot.h" + +class KPilotUser +{ +public: + /** Constructor. Create an empty PilotUser structure. */ + KPilotUser() + { + ::memset(&fUser,0,sizeof(struct PilotUser)); + } + /** Constructor. Use the given PilotUser structure. + * This creates a copy; no ownership is transferred. + */ + KPilotUser(const PilotUser *user) + { + fUser = *user; + } + + /** Accessor for the whole PilotUser structure. */ + PilotUser *data() + { + return &fUser; + } + + /** @return The username set on the handheld. */ + QString name() const + { + return Pilot::fromPilot( fUser.username ); + } + /** Set the user name to the given @p name , truncated + * if necessary to the size of the field on the handheld. + */ + void setName( const QString &name ) + { + Pilot::toPilot( name, fUser.username, sizeof(fUser.username) ); + } + + /** @return The length of the password on the handheld, + * in bytes. + */ + const int passwordLength() const + { + return fUser.passwordLength; + } + + /** @return the ID (4 bytes) of the last PC to sync this handheld. + * This is intended to help identify when the use has + * changed PCs and needs a new full sync. + */ + unsigned long getLastSyncPC() const + { + return fUser.lastSyncPC; + } + /** Set the ID of the PC syncing the handheld to @p pc . This + * should be unique in some way (perhaps IP addresses can be + * used this way, or hostnames). + */ + void setLastSyncPC(unsigned long pc) + { + fUser.lastSyncPC = pc; + } + + /** @return the timestamp that the handheld was last synced + * successfully. + */ + time_t getLastSuccessfulSyncDate() + { + return fUser.successfulSyncDate; + } + /** Set the timestamp for a successful sync. */ + void setLastSuccessfulSyncDate(time_t when) + { + fUser.successfulSyncDate = when; + } + + /** @return the timestamp of the last sync attempt. */ + time_t getLastSyncDate() + { + return fUser.lastSyncDate; + } + /** Set the timestamp of the sync attempt. */ + void setLastSyncDate(time_t when) + { + fUser.lastSyncDate = when; + } + +private: + struct PilotUser fUser; +}; + +#endif |