Attica

privatedata.h
1 /*
2  This file is part of KDE.
3 
4  SPDX-FileCopyrightText: 2010 Martin Sandsmark <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8 #ifndef ATTICA_PRIVATEDATA_H
9 #define ATTICA_PRIVATEDATA_H
10 
11 #include "provider.h"
12 
13 #include <QDateTime>
14 #include <QList>
15 #include <QMap>
16 #include <QSharedDataPointer>
17 #include <QUrl>
18 
19 #include "attica_export.h"
20 
21 namespace Attica
22 {
23 
24 /**
25  * @class PrivateData privatedata.h <Attica/PrivateData>
26  *
27  * Represents private data.
28  */
29 class ATTICA_EXPORT PrivateData
30 {
31 public:
32  class Parser;
33 
34  typedef QList<PrivateData> List; // nonsense
35 
36  PrivateData();
37  PrivateData(const PrivateData &other);
38  PrivateData &operator=(const PrivateData &other);
39  ~PrivateData();
40 
41  /**
42  * Sets an attribute referenced by \key to \value.
43  */
44  void setAttribute(const QString &key, const QString &value);
45 
46  /**
47  * Returns an attribute referenced by \key.
48  */
49  QString attribute(const QString &key) const;
50 
51  /**
52  * Sets when an attribute last was changed (mostly for internal use).
53  */
54  void setTimestamp(const QString &key, const QDateTime &when);
55 
56  /**
57  * Returns the date and time an attribute last was changed.
58  */
59  QDateTime timestamp(const QString &key) const;
60 
61  /**
62  * Returns a list of fetched keys.
63  */
64  QStringList keys() const;
65 
66 private:
67  class Private;
69 };
70 
71 }
72 
73 #endif // ATTICA_ATTRIBUTES_H
The Attica namespace,.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Dec 11 2023 04:05:13 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.