Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
Transaction.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#ifndef _TRANSACTION_H
7
#define _TRANSACTION_H
8
9
#include "
Platform/Threading.h
"
10
#include "
SQLOperation.h
"
11
12
//- Forward declare (don't include header to prevent circular includes)
13
class
PreparedStatement
;
14
16
class
Transaction
17
{
18
friend
class
TransactionTask
;
19
friend
class
MySQLConnection
;
20
21
template
<
typename
T>
22
friend
class
DatabaseWorkerPool
;
23
24
public
:
25
Transaction
() :
_cleanedUp
(false) { }
26
~Transaction
() {
Cleanup
(); }
27
28
void
Append
(
PreparedStatement
* statement);
29
void
Append
(
const
char
* sql);
30
void
PAppend
(
const
char
* sql, ...);
31
32
size_t
GetSize
()
const
{
return
m_queries
.size(); }
33
34
protected
:
35
void
Cleanup
();
36
std::list<SQLElementData>
m_queries
;
37
38
private
:
39
bool
_cleanedUp
;
40
};
41
42
typedef
Skyfire::AutoPtr<Transaction, Skyfire::Mutex>
SQLTransaction
;
43
45
class
TransactionTask
:
public
SQLOperation
46
{
47
template
<
class
T>
friend
class
DatabaseWorkerPool
;
48
friend
class
DatabaseWorker
;
49
50
public
:
51
TransactionTask
(
SQLTransaction
trans) :
m_trans
(trans) { };
52
~TransactionTask
() { };
53
54
protected
:
55
bool
Execute
();
56
57
SQLTransaction
m_trans
;
58
};
59
60
#endif
Threading.h
SQLOperation.h
SQLTransaction
Skyfire::AutoPtr< Transaction, Skyfire::Mutex > SQLTransaction
Definition
Transaction.h:42
PreparedStatement
Definition
PreparedStatement.h:63
SQLOperation::SQLOperation
SQLOperation()
Definition
SQLOperation.h:47
Skyfire::AutoPtr
Definition
AutoPtr.h:16
Transaction::MySQLConnection
friend class MySQLConnection
Definition
Transaction.h:19
Transaction::GetSize
size_t GetSize() const
Definition
Transaction.h:32
Transaction::~Transaction
~Transaction()
Definition
Transaction.h:26
Transaction::TransactionTask
friend class TransactionTask
Definition
Transaction.h:18
Transaction::Cleanup
void Cleanup()
Definition
Transaction.cpp:39
Transaction::m_queries
std::list< SQLElementData > m_queries
Definition
Transaction.h:36
Transaction::DatabaseWorkerPool
friend class DatabaseWorkerPool
Definition
Transaction.h:22
Transaction::PAppend
void PAppend(const char *sql,...)
Definition
Transaction.cpp:19
Transaction::Append
void Append(PreparedStatement *statement)
Definition
Transaction.cpp:31
Transaction::_cleanedUp
bool _cleanedUp
Definition
Transaction.h:39
Transaction::Transaction
Transaction()
Definition
Transaction.h:25
TransactionTask::~TransactionTask
~TransactionTask()
Definition
Transaction.h:52
TransactionTask::TransactionTask
TransactionTask(SQLTransaction trans)
Definition
Transaction.h:51
TransactionTask::DatabaseWorkerPool
friend class DatabaseWorkerPool
Definition
Transaction.h:47
TransactionTask::Execute
bool Execute()
Definition
Transaction.cpp:64
TransactionTask::m_trans
SQLTransaction m_trans
Definition
Transaction.h:57
TransactionTask::DatabaseWorker
friend class DatabaseWorker
Definition
Transaction.h:48
src
server
shared
Database
Transaction.h
Generated on
for Project SkyFire Core by
1.17.0