1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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. */
TQString 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 TQString &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
|