KDb

KDbTransactionData.h
1 /* This file is part of the KDE project
2  Copyright (C) 2003-2017 Jarosław Staniek <[email protected]>
3 
4  This program is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this program; see the file COPYING. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef KDB_TRANSACTIONDATA_H
21 #define KDB_TRANSACTIONDATA_H
22 
23 #include "config-kdb.h"
24 #include "kdb_export.h"
25 
26 #include <QtGlobal>
27 
28 class KDbConnection;
29 
30 /**
31  * @brief Internal prototype for storing transaction handle for KDbTransaction object
32  *
33  * Only for driver developers. Teimplement this class for database driver that supports transactions.
34  */
35 class KDB_EXPORT KDbTransactionData
36 {
37 public:
38  explicit KDbTransactionData(KDbConnection *connection);
39 
41 
42  //! Increments the value of reference counter for this data.
43  void ref();
44 
45  //! Decrements the value of reference counter for this data.
46  void deref();
47 
48  //! @return value of reference counter for this data.
49  int refcount() const;
50 
51  //! @return "active" flag of this data
52  bool isActive() const;
53 
54  //! Sets "active" flag of this data
55  void setActive(bool set);
56 
57  //! @return connection for this data
58  KDbConnection *connection();
59 
60  //! @overload
61  //! @since 3.1
62  const KDbConnection *connection() const;
63 
64 #ifdef KDB_TRANSACTIONS_DEBUG
65  //! Helper for debugging, returns value of global transaction data reference counter
66  static int globalCount();
67 #endif
68 
69 private:
70  Q_DISABLE_COPY(KDbTransactionData)
71  class Private;
72  Private * const d;
73 };
74 
75 #endif
Provides database connection, allowing queries and data modification.
Definition: KDbConnection.h:51
Internal prototype for storing transaction handle for KDbTransaction object.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jun 25 2022 06:21:34 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.