• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeutils API Reference
  • KDE Home
  • Contact Us
 

kgpg

  • sources
  • kde-4.12
  • kdeutils
  • kgpg
  • core
kgpgkey.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006,2007 Jimmy Gilles <jimmygilles@gmail.com>
3  * Copyright (C) 2007,2008,2009,2010,2012,2013 Rolf Eike Beer <kde@opensource.sf-tec.de>
4  */
5 
6 /***************************************************************************
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  ***************************************************************************/
14 
15 #include "kgpgkey.h"
16 
17 #include "convert.h"
18 
19 #include <KLocale>
20 
21 #include <QStringList>
22 
23 namespace KgpgCore
24 {
25 
26 //BEGIN KeySub
27 KgpgKeySubPrivate::KgpgKeySubPrivate(const QString &id, const uint size, const KgpgKeyTrust trust, const KgpgKeyAlgo algo,
28  const KgpgSubKeyType type, const QDateTime &date)
29  : gpgsubvalid(false),
30  gpgsubid(id),
31  gpgsubsize(size),
32  gpgsubcreation(date),
33  gpgsubtrust(trust),
34  gpgsubalgo(algo),
35  gpgsubtype(type)
36 {
37 }
38 
39 bool KgpgKeySubPrivate::operator==(const KgpgKeySubPrivate &other) const
40 {
41  if (gpgsubvalid != other.gpgsubvalid) return false;
42  if (gpgsubalgo != other.gpgsubalgo) return false;
43  if (gpgsubid != other.gpgsubid) return false;
44  if (gpgsubsize != other.gpgsubsize) return false;
45  if (gpgsubexpiration != other.gpgsubexpiration) return false;
46  if (gpgsubcreation != other.gpgsubcreation) return false;
47  if (gpgsubtrust != other.gpgsubtrust) return false;
48  if (gpgsubtype != other.gpgsubtype) return false;
49  return true;
50 }
51 
52 KgpgKeySub::KgpgKeySub(const QString &id, const uint size, const KgpgKeyTrust trust, const KgpgKeyAlgo algo, const KgpgSubKeyType type,
53  const QDateTime &date)
54  : d(new KgpgKeySubPrivate(id, size, trust, algo, type, date))
55 {
56 }
57 
58 KgpgKeySub::KgpgKeySub(const KgpgKeySub &other)
59 {
60  d = other.d;
61 }
62 
63 void KgpgKeySub::setExpiration(const QDateTime &date)
64 {
65  d->gpgsubexpiration = date;
66 }
67 
68 void KgpgKeySub::setValid(const bool valid)
69 {
70  d->gpgsubvalid = valid;
71 }
72 
73 QString KgpgKeySub::id() const
74 {
75  return d->gpgsubid;
76 }
77 
78 uint KgpgKeySub::size() const
79 {
80  return d->gpgsubsize;
81 }
82 
83 bool KgpgKeySub::unlimited() const
84 {
85  return d->gpgsubexpiration.isNull();
86 }
87 
88 QDateTime KgpgKeySub::expirationDate() const
89 {
90  return d->gpgsubexpiration;
91 }
92 
93 QDateTime KgpgKeySub::creationDate() const
94 {
95  return d->gpgsubcreation;
96 }
97 
98 KgpgKeyTrust KgpgKeySub::trust() const
99 {
100  return d->gpgsubtrust;
101 }
102 
103 KgpgKeyAlgo KgpgKeySub::algorithm() const
104 {
105  return d->gpgsubalgo;
106 }
107 
108 bool KgpgKeySub::valid() const
109 {
110  return d->gpgsubvalid;
111 }
112 
113 KgpgSubKeyType KgpgKeySub::type() const
114 {
115  return d->gpgsubtype;
116 }
117 
118 bool KgpgKeySub::operator==(const KgpgKeySub &other) const
119 {
120  if (d == other.d) return true;
121  if ((*d) == (*(other.d))) return true;
122  return false;
123 }
124 
125 KgpgKeySub& KgpgKeySub::operator=(const KgpgKeySub &other)
126 {
127  d = other.d;
128  return *this;
129 }
130 
131 //END KeySub
132 
133 
134 //BEGIN Key
135 
136 KgpgKeyPrivate::KgpgKeyPrivate(const QString &id, const uint size, const KgpgKeyTrust trust, const KgpgKeyAlgo algo, const KgpgSubKeyType subtype,
137  const KgpgSubKeyType keytype, const QDateTime &creationDate)
138  : gpgkeysecret(false),
139  gpgkeyvalid(false),
140  gpgkeyid(id),
141  gpgkeysize(size),
142  gpgkeytrust(trust),
143  gpgkeycreation(creationDate),
144  gpgkeyalgo(algo),
145  gpgsubtype(subtype),
146  gpgkeytype(keytype),
147  gpgsublist(new KgpgKeySubList())
148 {
149 }
150 
151 bool KgpgKeyPrivate::operator==(const KgpgKeyPrivate &other) const
152 {
153  if (gpgkeysecret != other.gpgkeysecret) return false;
154  if (gpgkeyvalid != other.gpgkeyvalid) return false;
155  if (gpgkeymail != other.gpgkeymail) return false;
156  if (gpgkeyname != other.gpgkeyname) return false;
157  if (gpgkeycomment != other.gpgkeycomment) return false;
158  if (gpgkeyfingerprint != other.gpgkeyfingerprint) return false;
159  if (gpgkeyid != other.gpgkeyid) return false;
160  if (gpgkeysize != other.gpgkeysize) return false;
161  if (gpgkeyownertrust != other.gpgkeyownertrust) return false;
162  if (gpgkeytrust != other.gpgkeytrust) return false;
163  if (gpgkeycreation != other.gpgkeycreation) return false;
164  if (gpgkeyexpiration != other.gpgkeyexpiration) return false;
165  if (gpgkeyalgo != other.gpgkeyalgo) return false;
166  if (gpgsubtype != other.gpgsubtype) return false;
167  if (gpgkeytype != other.gpgkeytype) return false;
168  if (gpgsublist != other.gpgsublist) return false;
169  return true;
170 }
171 
172 KgpgKey::KgpgKey(const QString &id, const uint size, const KgpgKeyTrust trust, const KgpgKeyAlgo algo, const KgpgSubKeyType subtype,
173  const KgpgSubKeyType keytype, const QDateTime &creationDate)
174  : d(new KgpgKeyPrivate(id, size, trust, algo, subtype, keytype, creationDate))
175 {
176 }
177 
178 KgpgKey::KgpgKey(const KgpgKey &other)
179 {
180  d = other.d;
181 }
182 
183 void KgpgKey::setSecret(const bool secret)
184 {
185  d->gpgkeysecret = secret;
186 }
187 
188 void KgpgKey::setValid(const bool valid)
189 {
190  d->gpgkeyvalid = valid;
191 }
192 
193 void KgpgKey::setName(const QString &name)
194 {
195  d->gpgkeyname = name;
196 }
197 
198 void KgpgKey::setEmail(const QString &email)
199 {
200  d->gpgkeymail = email;
201 }
202 
203 void KgpgKey::setComment(const QString &comment)
204 {
205  d->gpgkeycomment = comment;
206 }
207 
208 void KgpgKey::setFingerprint(const QString &fingerprint)
209 {
210  d->gpgkeyfingerprint = fingerprint;
211 }
212 
213 void KgpgKey::setOwnerTrust(const KgpgKeyOwnerTrust &owtrust)
214 {
215  d->gpgkeyownertrust = owtrust;
216 }
217 
218 void KgpgKey::setExpiration(const QDateTime &date)
219 {
220  d->gpgkeyexpiration = date;
221 }
222 
223 bool KgpgKey::secret() const
224 {
225  return d->gpgkeysecret;
226 }
227 
228 bool KgpgKey::valid() const
229 {
230  return d->gpgkeyvalid;
231 }
232 
233 QString KgpgKey::id() const
234 {
235  return d->gpgkeyid.right(8);
236 }
237 
238 QString KgpgKey::fullId() const
239 {
240  return d->gpgkeyid;
241 }
242 
243 QString KgpgKey::name() const
244 {
245  return d->gpgkeyname;
246 }
247 
248 QString KgpgKey::email() const
249 {
250  return d->gpgkeymail;
251 }
252 
253 QString KgpgKey::comment() const
254 {
255  return d->gpgkeycomment;
256 }
257 
258 const QString &KgpgKey::fingerprint() const
259 {
260  return d->gpgkeyfingerprint;
261 }
262 
263 QString KgpgKey::fingerprintBeautified() const
264 {
265  QString fingervalue =d->gpgkeyfingerprint;
266  uint len = fingervalue.length();
267  if ((len > 0) && (len % 4 == 0))
268  for (uint n = 0; 4 * (n + 1) < len; ++n)
269  fingervalue.insert(5 * n + 4, QLatin1Char( ' ' ));
270  return fingervalue;
271 }
272 
273 uint KgpgKey::size() const
274 {
275  return d->gpgkeysize;
276 }
277 
278 uint KgpgKey::encryptionSize() const
279 {
280  // Get the first encryption subkey
281  for (int i = 0; i < d->gpgsublist->count(); ++i) {
282  KgpgKeySub temp = d->gpgsublist->at(i);
283  if (temp.type() & SKT_ENCRYPTION) {
284  return temp.size();
285  }
286  }
287  return 0;
288 }
289 
290 KgpgKeyOwnerTrust KgpgKey::ownerTrust() const
291 {
292  return d->gpgkeyownertrust;
293 }
294 
295 KgpgKeyTrust KgpgKey::trust() const
296 {
297  return d->gpgkeytrust;
298 }
299 
300 QDateTime KgpgKey::creationDate() const
301 {
302  return d->gpgkeycreation;
303 }
304 
305 QDateTime KgpgKey::expirationDate() const
306 {
307  return d->gpgkeyexpiration;
308 }
309 
310 bool KgpgKey::unlimited() const
311 {
312  return d->gpgkeyexpiration.isNull();
313 }
314 
315 KgpgKeyAlgo KgpgKey::algorithm() const
316 {
317  return d->gpgkeyalgo;
318 }
319 
320 KgpgKeyAlgo KgpgKey::encryptionAlgorithm() const
321 {
322  // Get the first encryption subkey
323  for (int i = 0; i < d->gpgsublist->count(); ++i) {
324  KgpgKeySub temp = d->gpgsublist->at(i);
325  if (temp.type() & SKT_ENCRYPTION) {
326  return temp.algorithm();
327  }
328  }
329  return ALGO_UNKNOWN;
330 }
331 
332 KgpgSubKeyType KgpgKey::subtype() const
333 {
334  return d->gpgsubtype;
335 }
336 
337 KgpgSubKeyType KgpgKey::keytype() const
338 {
339  return d->gpgkeytype;
340 }
341 
342 KgpgKeySubListPtr KgpgKey::subList() const
343 {
344  return d->gpgsublist;
345 }
346 
347 bool KgpgKey::operator==(const KgpgKey &other) const
348 {
349  if (d == other.d) return true;
350  if ((*d) == (*(other.d))) return true;
351  return false;
352 }
353 
354 KgpgKey& KgpgKey::operator=(const KgpgKey &other)
355 {
356  d = other.d;
357  return *this;
358 }
359 
360 KgpgKeyList::operator QStringList() const
361 {
362  QStringList res;
363  foreach(const KgpgKey &key, *this)
364  res << key.fullId();
365  return res;
366 }
367 
368 //END Key
369 
370 } // namespace KgpgCore
KgpgCore::KgpgKey::setName
void setName(const QString &name)
Definition: kgpgkey.cpp:193
KgpgCore::KgpgKeySub::setExpiration
void setExpiration(const QDateTime &date)
Definition: kgpgkey.cpp:63
KgpgCore::KgpgKeyPrivate::gpgkeyfingerprint
QString gpgkeyfingerprint
Definition: kgpgkey.h:236
KgpgCore::KgpgKeySubPrivate::gpgsubexpiration
QDateTime gpgsubexpiration
Definition: kgpgkey.h:139
KgpgCore::KgpgKeySubPrivate::gpgsubvalid
bool gpgsubvalid
Definition: kgpgkey.h:136
KgpgCore::SKT_ENCRYPTION
Definition: kgpgkey.h:90
KgpgCore::KgpgKey::setFingerprint
void setFingerprint(const QString &fingerprint)
Definition: kgpgkey.cpp:208
KgpgCore::KgpgKeySub::operator=
KgpgKeySub & operator=(const KgpgKeySub &other)
Definition: kgpgkey.cpp:125
KgpgCore::KgpgKeyPrivate::gpgsublist
KgpgKeySubListPtr gpgsublist
Definition: kgpgkey.h:247
KgpgCore::KgpgKey::ownerTrust
KgpgKeyOwnerTrust ownerTrust() const
Definition: kgpgkey.cpp:290
KgpgCore::KgpgKeyPrivate::operator==
bool operator==(const KgpgKeyPrivate &other) const
Definition: kgpgkey.cpp:151
KgpgCore::KgpgKey::size
uint size() const
Definition: kgpgkey.cpp:273
KgpgCore::KgpgKeySubPrivate::operator==
bool operator==(const KgpgKeySubPrivate &other) const
Definition: kgpgkey.cpp:39
KgpgCore::KgpgKey::creationDate
QDateTime creationDate() const
Definition: kgpgkey.cpp:300
KgpgCore::KgpgKey::algorithm
KgpgKeyAlgo algorithm() const
Definition: kgpgkey.cpp:315
KgpgCore::KgpgKey::keytype
KgpgSubKeyType keytype() const
Definition: kgpgkey.cpp:337
KgpgCore::KgpgKey::subtype
KgpgSubKeyType subtype() const
Definition: kgpgkey.cpp:332
KgpgCore::KgpgKey::setEmail
void setEmail(const QString &email)
Definition: kgpgkey.cpp:198
KgpgCore::KgpgKey::setValid
void setValid(const bool valid)
Definition: kgpgkey.cpp:188
KgpgCore::KgpgKeyPrivate::gpgkeyvalid
bool gpgkeyvalid
Definition: kgpgkey.h:232
KgpgCore::KgpgKeyPrivate::gpgkeyexpiration
QDateTime gpgkeyexpiration
Definition: kgpgkey.h:242
kgpgkey.h
KgpgCore::KgpgKey
Definition: kgpgkey.h:254
KgpgCore::KgpgKeySub::expirationDate
QDateTime expirationDate() const
Definition: kgpgkey.cpp:88
KgpgCore::KgpgKey::id
QString id() const
Definition: kgpgkey.cpp:233
KgpgCore::KgpgKey::fullId
QString fullId() const
Definition: kgpgkey.cpp:238
KgpgCore::KgpgKey::setComment
void setComment(const QString &comment)
Definition: kgpgkey.cpp:203
KgpgCore::KgpgKeySubList
Definition: kgpgkey.h:180
KgpgCore::KgpgKey::fingerprint
const QString & fingerprint() const
Definition: kgpgkey.cpp:258
KgpgCore::KgpgKey::name
QString name() const
Definition: kgpgkey.cpp:243
KgpgCore::KgpgKeySubPrivate
Definition: kgpgkey.h:129
KgpgCore::KgpgKey::operator=
KgpgKey & operator=(const KgpgKey &other)
Definition: kgpgkey.cpp:354
KgpgCore::KgpgKey::setExpiration
void setExpiration(const QDateTime &date)
Definition: kgpgkey.cpp:218
KgpgCore::KgpgKeyPrivate::gpgkeytype
const KgpgSubKeyType gpgkeytype
Definition: kgpgkey.h:245
KgpgCore::KgpgKeySub
Definition: kgpgkey.h:150
KgpgCore::KgpgKey::operator==
bool operator==(const KgpgKey &other) const
Definition: kgpgkey.cpp:347
KgpgCore::KgpgKeySub::type
KgpgSubKeyType type() const
Definition: kgpgkey.cpp:113
KgpgCore::KgpgKey::encryptionSize
uint encryptionSize() const
Definition: kgpgkey.cpp:278
KgpgCore::KgpgKeyPrivate::gpgkeytrust
const KgpgKeyTrust gpgkeytrust
Definition: kgpgkey.h:240
KgpgCore::KgpgKey::email
QString email() const
Definition: kgpgkey.cpp:248
KgpgCore::KgpgKey::comment
QString comment() const
Definition: kgpgkey.cpp:253
KgpgCore::ALGO_UNKNOWN
Definition: kgpgkey.h:34
KgpgCore::KgpgKeyPrivate::gpgkeysize
const uint gpgkeysize
Definition: kgpgkey.h:238
KgpgCore::KgpgKeySubPrivate::gpgsubtype
const KgpgSubKeyType gpgsubtype
Definition: kgpgkey.h:143
KgpgCore::KgpgKeyPrivate::gpgkeyid
const QString gpgkeyid
Definition: kgpgkey.h:237
KgpgCore::KgpgKeySub::algorithm
KgpgKeyAlgo algorithm() const
Definition: kgpgkey.cpp:103
KgpgCore::KgpgKeyPrivate::gpgkeycreation
const QDateTime gpgkeycreation
Definition: kgpgkey.h:241
KgpgCore::KgpgKey::trust
KgpgKeyTrust trust() const
Definition: kgpgkey.cpp:295
KgpgCore::KgpgKeySub::size
uint size() const
Definition: kgpgkey.cpp:78
KgpgCore::KgpgKeySub::setValid
void setValid(const bool valid)
Definition: kgpgkey.cpp:68
KgpgCore::KgpgKeyPrivate::gpgkeymail
QString gpgkeymail
Definition: kgpgkey.h:233
KgpgCore::KgpgKeySub::unlimited
bool unlimited() const
Definition: kgpgkey.cpp:83
KgpgCore::KgpgKeySub::trust
KgpgKeyTrust trust() const
Definition: kgpgkey.cpp:98
KgpgCore::KgpgKeySubPrivate::gpgsubalgo
const KgpgKeyAlgo gpgsubalgo
Definition: kgpgkey.h:142
KgpgCore::KgpgKeyPrivate
Definition: kgpgkey.h:214
KgpgCore::KgpgKeySub::operator==
bool operator==(const KgpgKeySub &other) const
Definition: kgpgkey.cpp:118
KgpgCore::KgpgKeySubPrivate::gpgsubsize
const uint gpgsubsize
Definition: kgpgkey.h:138
KgpgCore::KgpgKeyPrivate::gpgkeyname
QString gpgkeyname
Definition: kgpgkey.h:234
KgpgCore::KgpgKey::fingerprintBeautified
QString fingerprintBeautified() const
Definition: kgpgkey.cpp:263
KgpgCore::KgpgKeySub::valid
bool valid() const
Definition: kgpgkey.cpp:108
KgpgCore::KgpgKeyPrivate::gpgkeycomment
QString gpgkeycomment
Definition: kgpgkey.h:235
KgpgCore::KgpgKey::secret
bool secret() const
Definition: kgpgkey.cpp:223
KgpgCore::KgpgKey::setOwnerTrust
void setOwnerTrust(const KgpgKeyOwnerTrust &owtrust)
Definition: kgpgkey.cpp:213
KgpgCore::KgpgKeySubPrivate::gpgsubtrust
const KgpgKeyTrust gpgsubtrust
Definition: kgpgkey.h:141
KgpgCore::KgpgKeyPrivate::gpgkeyalgo
const KgpgKeyAlgo gpgkeyalgo
Definition: kgpgkey.h:243
KgpgCore::KgpgKeySub::creationDate
QDateTime creationDate() const
Definition: kgpgkey.cpp:93
KgpgCore::KgpgKey::valid
bool valid() const
Definition: kgpgkey.cpp:228
KgpgCore::KgpgKey::unlimited
bool unlimited() const
Definition: kgpgkey.cpp:310
KgpgCore::KgpgKeySubPrivate::gpgsubid
const QString gpgsubid
Definition: kgpgkey.h:137
KgpgCore::KgpgKeySubPrivate::gpgsubcreation
const QDateTime gpgsubcreation
Definition: kgpgkey.h:140
KgpgCore::KgpgKeySub::id
QString id() const
Definition: kgpgkey.cpp:73
KgpgCore::KgpgKeyPrivate::gpgsubtype
const KgpgSubKeyType gpgsubtype
Definition: kgpgkey.h:244
KgpgCore::KgpgKey::encryptionAlgorithm
KgpgKeyAlgo encryptionAlgorithm() const
Definition: kgpgkey.cpp:320
KgpgCore::KgpgKey::KgpgKey
KgpgKey(const QString &id, const uint size, const KgpgCore::KgpgKeyTrust trust, const KgpgCore::KgpgKeyAlgo algo, const KgpgCore::KgpgSubKeyType subtype, const KgpgCore::KgpgSubKeyType keytype, const QDateTime &creationDate)
constructor
convert.h
KgpgCore::KgpgKey::setSecret
void setSecret(const bool secret)
Definition: kgpgkey.cpp:183
KgpgCore::KgpgKeyPrivate::gpgkeysecret
bool gpgkeysecret
Definition: kgpgkey.h:231
KgpgCore::KgpgKeySubListPtr
QPointer< KgpgKeySubList > KgpgKeySubListPtr
Definition: kgpgkey.h:207
KgpgCore::KgpgKeyPrivate::gpgkeyownertrust
KgpgKeyOwnerTrust gpgkeyownertrust
Definition: kgpgkey.h:239
KgpgCore::KgpgKey::expirationDate
QDateTime expirationDate() const
Definition: kgpgkey.cpp:305
KgpgCore::KgpgKey::subList
KgpgKeySubListPtr subList() const
Definition: kgpgkey.cpp:342
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:07:51 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kgpg

Skip menu "kgpg"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeutils API Reference

Skip menu "kdeutils API Reference"
  • ark
  • filelight
  • kcalc
  • kcharselect
  • kdf
  • kfloppy
  • kgpg
  • kremotecontrol
  • ktimer
  • kwallet
  • superkaramba
  • sweeper

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal