ATLAS Offline Software
Loading...
Searching...
No Matches
ITransaction.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INCLUDE_PERSISTENCYSVC_ITRANSACTION_H
6#define INCLUDE_PERSISTENCYSVC_ITRANSACTION_H
7
8/*
9 * POOL namespace declaration
10 */
11namespace pool {
12
18
20 protected:
22 virtual ~ITransaction() {}
23
24 public:
26 typedef enum { UNDEFINED,
29
31 virtual bool start( Type type = READ ) = 0;
32
34 virtual bool commit() = 0;
35
37 virtual bool commitAndHold() = 0;
38
40 virtual bool isActive() const = 0;
41
43 virtual void update() = 0;
44
46 virtual Type type() const = 0;
47 };
48
49}
50
51#endif
52
ITransaction is the interface class for user (macroscopic transactions) Every operation with the pool...
virtual bool commitAndHold()=0
Commits the holds transaction.
Type
Transaction type enumeration.
virtual bool commit()=0
Commits the transaction.
virtual Type type() const =0
Returns the transaction type.
virtual void update()=0
Reverts to update mode.
virtual bool start(Type type=READ)=0
Starts a new transaction. Returns the success of the operation.
virtual ~ITransaction()
Default destructor.
virtual bool isActive() const =0
Checks if the transaction is active.
pool namespace
Definition libname.h:15