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

kgpg

  • sources
  • kde-4.14
  • kdeutils
  • kgpg
  • core
KGpgNode.cpp
Go to the documentation of this file.
1 /* Copyright 2008,2009,2012 Rolf Eike Beer <kde@opensource.sf-tec.de>
2  *
3  * This program is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU General Public License as
5  * published by the Free Software Foundation; either version 2 of
6  * the License or (at your option) version 3 or any later version
7  * accepted by the membership of KDE e.V. (or its successor approved
8  * by the membership of KDE e.V.), which shall act as a proxy
9  * defined in Section 14 of version 3 of the license.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 #include "KGpgNode.h"
20 
21 #include "KGpgGroupMemberNode.h"
22 #include "KGpgGroupNode.h"
23 #include "KGpgOrphanNode.h"
24 #include "KGpgRootNode.h"
25 #include "KGpgSubkeyNode.h"
26 #include "KGpgUatNode.h"
27 #include "KGpgUidNode.h"
28 #include "model/kgpgitemmodel.h"
29 
30 #include <KLocale>
31 
32 KGpgNode::KGpgNode(KGpgExpandableNode *parent)
33  : QObject(), m_parent(parent)
34 {
35  if (parent == NULL)
36  m_model = NULL;
37  else
38  m_model = parent->m_model;
39 }
40 
41 KGpgNode::~KGpgNode()
42 {
43  Q_ASSERT(m_model);
44  m_model->invalidateIndexes(this);
45 
46  if (m_parent != NULL)
47  m_parent->deleteChild(this);
48 }
49 
50 QString
51 KGpgNode::getNameComment() const
52 {
53  if (getComment().isEmpty())
54  return getName();
55  else
56  return i18nc("Name of uid (comment)", "%1 (%2)", getName(), getComment());
57 }
58 
59 KGpgExpandableNode *
60 KGpgNode::toExpandableNode()
61 {
62  Q_ASSERT(((getType() & KgpgCore::ITYPE_GROUP) && !(getType() & KgpgCore::ITYPE_PAIR)) ||
63  (getType() & (KgpgCore::ITYPE_PAIR | KgpgCore::ITYPE_SUB | KgpgCore::ITYPE_UID | KgpgCore::ITYPE_UAT)));
64 
65  return qobject_cast<KGpgExpandableNode *>(this);
66 }
67 
68 const KGpgExpandableNode *
69 KGpgNode::toExpandableNode() const
70 {
71  Q_ASSERT(((getType() & KgpgCore::ITYPE_GROUP) && !(getType() & KgpgCore::ITYPE_PAIR)) ||
72  (getType() & (KgpgCore::ITYPE_PAIR | KgpgCore::ITYPE_SUB | KgpgCore::ITYPE_UID | KgpgCore::ITYPE_UAT)));
73 
74  return qobject_cast<const KGpgExpandableNode *>(this);
75 }
76 
77 KGpgSignableNode *
78 KGpgNode::toSignableNode()
79 {
80  Q_ASSERT(getType() & (KgpgCore::ITYPE_PAIR | KgpgCore::ITYPE_SUB | KgpgCore::ITYPE_UID | KgpgCore::ITYPE_UAT));
81 
82  return qobject_cast<KGpgSignableNode *>(this);
83 }
84 
85 const KGpgSignableNode *
86 KGpgNode::toSignableNode() const
87 {
88  Q_ASSERT(getType() & (KgpgCore::ITYPE_PAIR | KgpgCore::ITYPE_SUB | KgpgCore::ITYPE_UID | KgpgCore::ITYPE_UAT));
89 
90  return qobject_cast<const KGpgSignableNode *>(this);
91 }
92 
93 KGpgKeyNode *
94 KGpgNode::toKeyNode()
95 {
96  Q_ASSERT(getType() & KgpgCore::ITYPE_PAIR);
97  Q_ASSERT(!(getType() & KgpgCore::ITYPE_GROUP));
98 
99  return qobject_cast<KGpgKeyNode *>(this);
100 }
101 
102 const KGpgKeyNode *
103 KGpgNode::toKeyNode() const
104 {
105  Q_ASSERT(getType() & KgpgCore::ITYPE_PAIR);
106  Q_ASSERT(!(getType() & KgpgCore::ITYPE_GROUP));
107 
108  return qobject_cast<const KGpgKeyNode *>(this);
109 }
110 
111 KGpgRootNode *
112 KGpgNode::toRootNode()
113 {
114  Q_ASSERT((m_parent == NULL) && (getType() == 0));
115 
116  return static_cast<KGpgRootNode *>(this)->asRootNode();
117 }
118 
119 const KGpgRootNode *
120 KGpgNode::toRootNode() const
121 {
122  Q_ASSERT((m_parent == NULL) && (getType() == 0));
123 
124  return static_cast<const KGpgRootNode *>(this)->asRootNode();
125 }
126 
127 KGpgUidNode *
128 KGpgNode::toUidNode()
129 {
130  Q_ASSERT(getType() == KgpgCore::ITYPE_UID);
131 
132  return static_cast<KGpgUidNode *>(this);
133 }
134 
135 const KGpgUidNode *
136 KGpgNode::toUidNode() const
137 {
138  Q_ASSERT(getType() == KgpgCore::ITYPE_UID);
139 
140  return static_cast<const KGpgUidNode *>(this);
141 }
142 
143 KGpgSubkeyNode *
144 KGpgNode::toSubkeyNode()
145 {
146  Q_ASSERT(getType() == KgpgCore::ITYPE_SUB);
147 
148  return static_cast<KGpgSubkeyNode *>(this);
149 }
150 
151 const KGpgSubkeyNode *
152 KGpgNode::toSubkeyNode() const
153 {
154  Q_ASSERT(getType() == KgpgCore::ITYPE_SUB);
155 
156  return static_cast<const KGpgSubkeyNode *>(this);
157 }
158 
159 KGpgUatNode *
160 KGpgNode::toUatNode()
161 {
162  Q_ASSERT(getType() == KgpgCore::ITYPE_UAT);
163 
164  return static_cast<KGpgUatNode *>(this);
165 }
166 
167 const KGpgUatNode *
168 KGpgNode::toUatNode() const
169 {
170  Q_ASSERT(getType() == KgpgCore::ITYPE_UAT);
171 
172  return static_cast<const KGpgUatNode *>(this);
173 }
174 
175 KGpgGroupNode *
176 KGpgNode::toGroupNode()
177 {
178  Q_ASSERT(getType() == KgpgCore::ITYPE_GROUP);
179 
180  return static_cast<KGpgGroupNode *>(this);
181 }
182 
183 const KGpgGroupNode *
184 KGpgNode::toGroupNode() const
185 {
186  Q_ASSERT(getType() == KgpgCore::ITYPE_GROUP);
187 
188  return static_cast<const KGpgGroupNode *>(this);
189 }
190 
191 KGpgRefNode *
192 KGpgNode::toRefNode()
193 {
194  Q_ASSERT(((getType() & KgpgCore::ITYPE_GROUP) && (getType() & KgpgCore::ITYPE_PAIR)) || (getType() & KgpgCore::ITYPE_SIGN));
195 
196  return qobject_cast<KGpgRefNode *>(this);
197 }
198 
199 const KGpgRefNode *
200 KGpgNode::toRefNode() const
201 {
202  Q_ASSERT(((getType() & KgpgCore::ITYPE_GROUP) && (getType() & KgpgCore::ITYPE_PAIR)) || (getType() & KgpgCore::ITYPE_SIGN));
203 
204  return qobject_cast<const KGpgRefNode *>(this);
205 }
206 
207 KGpgGroupMemberNode *
208 KGpgNode::toGroupMemberNode()
209 {
210  Q_ASSERT((getType() & KgpgCore::ITYPE_GROUP) && (getType() & KgpgCore::ITYPE_PAIR));
211 
212  return static_cast<KGpgGroupMemberNode *>(this);
213 }
214 
215 const KGpgGroupMemberNode *
216 KGpgNode::toGroupMemberNode() const
217 {
218  Q_ASSERT((getType() & KgpgCore::ITYPE_GROUP) && (getType() & KgpgCore::ITYPE_PAIR));
219 
220  return static_cast<const KGpgGroupMemberNode *>(this);
221 }
222 
223 KGpgSignNode *
224 KGpgNode::toSignNode()
225 {
226  Q_ASSERT(getType() == KgpgCore::ITYPE_SIGN);
227 
228  return static_cast<KGpgSignNode *>(this);
229 }
230 
231 const KGpgSignNode *
232 KGpgNode::toSignNode() const
233 {
234  Q_ASSERT(getType() == KgpgCore::ITYPE_SIGN);
235 
236  return static_cast<const KGpgSignNode *>(this);
237 }
238 
239 KGpgOrphanNode *
240 KGpgNode::toOrphanNode()
241 {
242  Q_ASSERT(getType() == KgpgCore::ITYPE_SECRET);
243 
244  return static_cast<KGpgOrphanNode *>(this);
245 }
246 
247 const KGpgOrphanNode *
248 KGpgNode::toOrphanNode() const
249 {
250  Q_ASSERT(getType() == KgpgCore::ITYPE_SECRET);
251 
252  return static_cast<const KGpgOrphanNode *>(this);
253 }
254 
255 bool
256 KGpgNode::hasChildren() const
257 {
258  return false;
259 }
260 
261 int
262 KGpgNode::getChildCount()
263 {
264  return 0;
265 }
266 
267 KGpgNode *
268 KGpgNode::getChild(const int index) const
269 {
270  Q_UNUSED(index);
271  return NULL;
272 }
273 
274 int
275 KGpgNode::getChildIndex(KGpgNode *node) const
276 {
277  Q_UNUSED(node);
278  return 0;
279 }
280 
281 KgpgCore::KgpgKeyTrust
282 KGpgNode::getTrust() const
283 {
284  return TRUST_NOKEY;
285 }
286 
287 QString
288 KGpgNode::getSize() const
289 {
290  return QString();
291 }
292 
293 QString
294 KGpgNode::getName() const
295 {
296  return QString();
297 }
298 
299 QString
300 KGpgNode::getEmail() const
301 {
302  return QString();
303 }
304 
305 QDateTime
306 KGpgNode::getExpiration() const
307 {
308  return QDateTime();
309 }
310 
311 QDateTime
312 KGpgNode::getCreation() const
313 {
314  return QDateTime();
315 }
316 
317 QString
318 KGpgNode::getId() const
319 {
320  return QString();
321 }
322 
323 QString
324 KGpgNode::getComment() const
325 {
326  return QString();
327 }
328 
329 KGpgExpandableNode *
330 KGpgNode::getParentKeyNode() const
331 {
332  return m_parent;
333 }
334 
335 #include "KGpgNode.moc"
KGpgUidNode.h
KGpgUatNode.h
KGpgNode::toRootNode
KGpgRootNode * toRootNode()
Definition: KGpgNode.cpp:112
KGpgNode::getParentKeyNode
KGpgExpandableNode * getParentKeyNode() const
Returns the parent node in the key hierarchy.
Definition: KGpgNode.cpp:330
KgpgCore::TRUST_NOKEY
internal value, e.g. for key groups
Definition: kgpgkey.h:65
KGpgGroupNode
A GnuPG group of public keys.
Definition: KGpgGroupNode.h:33
KGpgNode::getNameComment
virtual QString getNameComment() const
Definition: KGpgNode.cpp:51
KGpgGroupMemberNode.h
KGpgUatNode
A user attribute (i.e.
Definition: KGpgUatNode.h:36
KGpgNode::toRefNode
KGpgRefNode * toRefNode()
Definition: KGpgNode.cpp:192
KGpgNode::getComment
virtual QString getComment() const
Definition: KGpgNode.cpp:324
KGpgRootNode.h
KGpgExpandableNode::deleteChild
virtual void deleteChild(KGpgNode *child)
Definition: KGpgExpandableNode.cpp:83
KGpgKeyNode
A public key with or without corresponding secret key.
Definition: KGpgKeyNode.h:33
KGpgItemModel::invalidateIndexes
void invalidateIndexes(KGpgNode *nd)
Definition: kgpgitemmodel.cpp:521
KGpgNode::getCreation
virtual QDateTime getCreation() const
Definition: KGpgNode.cpp:312
KGpgNode::getType
virtual KgpgCore::KgpgItemType getType() const =0
Returns the item type of this object.
KGpgNode::getExpiration
virtual QDateTime getExpiration() const
Definition: KGpgNode.cpp:306
KGpgNode::toSignableNode
KGpgSignableNode * toSignableNode()
Definition: KGpgNode.cpp:78
KGpgRootNode
The parent of all key data objects.
Definition: KGpgRootNode.h:38
KGpgNode::getSize
virtual QString getSize() const
Returns a string describing the size of this object.
Definition: KGpgNode.cpp:288
KGpgOrphanNode.h
KgpgCore::ITYPE_SECRET
secret key
Definition: kgpgkey.h:92
QObject
KGpgNode::toGroupMemberNode
KGpgGroupMemberNode * toGroupMemberNode()
Definition: KGpgNode.cpp:208
kgpgitemmodel.h
KGpgOrphanNode
A lone secret key without public key.
Definition: KGpgOrphanNode.h:33
KGpgRefNode
Class for child objects that are only a reference to a primary key.
Definition: KGpgRefNode.h:39
KGpgSubkeyNode
a subkey of a public key or key pair
Definition: KGpgSubkeyNode.h:31
QString
KgpgCore::ITYPE_GROUP
the element is a GnuPG key group
Definition: kgpgkey.h:91
KGpgNode::getChildIndex
virtual int getChildIndex(KGpgNode *node) const
Returns the index for a given child node.
Definition: KGpgNode.cpp:275
KGpgNode::toOrphanNode
KGpgOrphanNode * toOrphanNode()
Definition: KGpgNode.cpp:240
KGpgNode
The abstract base class for all classes representing keyring data.
Definition: KGpgNode.h:42
KgpgCore::ITYPE_PAIR
key pair
Definition: kgpgkey.h:94
KGpgNode::toExpandableNode
KGpgExpandableNode * toExpandableNode()
Definition: KGpgNode.cpp:60
KgpgCore::ITYPE_SIGN
signature (to a key, uid or uat)
Definition: kgpgkey.h:102
KGpgExpandableNode
The abstract base class for all classes that may have child objects.
Definition: KGpgExpandableNode.h:34
KGpgNode::toUatNode
KGpgUatNode * toUatNode()
Definition: KGpgNode.cpp:160
KGpgNode::toKeyNode
KGpgKeyNode * toKeyNode()
Definition: KGpgNode.cpp:94
KGpgNode::~KGpgNode
virtual ~KGpgNode()
destructor
Definition: KGpgNode.cpp:41
KGpgNode::getId
virtual QString getId() const
Definition: KGpgNode.cpp:318
KGpgNode::toUidNode
KGpgUidNode * toUidNode()
Definition: KGpgNode.cpp:128
KGpgGroupMemberNode
A member of a GnuPG group.
Definition: KGpgGroupMemberNode.h:35
KGpgNode::m_parent
KGpgExpandableNode * m_parent
Definition: KGpgNode.h:50
KgpgCore::ITYPE_UAT
user attribute to a key (i.e. photo id)
Definition: kgpgkey.h:100
KGpgNode::toGroupNode
KGpgGroupNode * toGroupNode()
Definition: KGpgNode.cpp:176
KGpgNode::getEmail
virtual QString getEmail() const
Definition: KGpgNode.cpp:300
KGpgNode::getChild
virtual KGpgNode * getChild(const int index) const
Returns the child node at the given index.
Definition: KGpgNode.cpp:268
KGpgNode::getChildCount
virtual int getChildCount()
Return how many child nodes exist.
Definition: KGpgNode.cpp:262
KGpgGroupNode.h
KGpgNode::toSignNode
KGpgSignNode * toSignNode()
Definition: KGpgNode.cpp:224
KGpgNode::getName
virtual QString getName() const
Definition: KGpgNode.cpp:294
KGpgSubkeyNode.h
KGpgUidNode
A user id of a public key or key pair.
Definition: KGpgUidNode.h:33
KGpgNode::toSubkeyNode
KGpgSubkeyNode * toSubkeyNode()
Definition: KGpgNode.cpp:144
KGpgNode.h
KGpgSignNode
A signature to another key object.
Definition: KGpgSignNode.h:31
KGpgNode::hasChildren
virtual bool hasChildren() const
Returns if this node has child nodes.
Definition: KGpgNode.cpp:256
KGpgNode::getTrust
virtual KgpgCore::KgpgKeyTrust getTrust() const
Definition: KGpgNode.cpp:282
KgpgCore::ITYPE_UID
additional user id
Definition: kgpgkey.h:99
KGpgSignableNode
An object that may have KGpgSignNode children.
Definition: KGpgSignableNode.h:31
QDateTime
KGpgNode::m_model
KGpgItemModel * m_model
Definition: KGpgNode.h:51
KgpgCore::ITYPE_SUB
subkey of a public or secret key
Definition: kgpgkey.h:98
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:42:08 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
  • ktimer
  • kwallet
  • 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