hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
temporary_wsv.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_TEMPORARYWSV_HPP
7 #define IROHA_TEMPORARYWSV_HPP
8 
9 #include <functional>
10 
12 #include "common/result.hpp"
14 
15 namespace shared_model {
16  namespace interface {
17  class Transaction;
18  } // namespace interface
19 } // namespace shared_model
20 
21 namespace iroha {
22  namespace ametsuchi {
23 
28  class TemporaryWsv {
29  public:
38  virtual void release() = 0;
39 
40  virtual ~SavepointWrapper() = default;
41  };
42 
49  const shared_model::interface::Transaction &transaction) = 0;
50 
56  virtual std::unique_ptr<TemporaryWsv::SavepointWrapper> createSavepoint(
57  const std::string &name) = 0;
58 
59  virtual DatabaseTransaction &getDbTransaction() = 0;
60 
61  virtual ~TemporaryWsv() = default;
62  };
63  } // namespace ametsuchi
64 } // namespace iroha
65 
66 #endif // IROHA_TEMPORARYWSV_HPP
Definition: block_query.hpp:17
decltype(auto) constexpr apply(Tuple &&t, F &&f)
apply F to Tuple
Definition: soci_utils.hpp:72
Definition: result_fwd.hpp:27
Definition: temporary_wsv.hpp:28
Definition: block_query.hpp:15
Definition: db_transaction.hpp:13
Definition: temporary_wsv.hpp:34
Definition: command_executor.hpp:13
Definition: transaction.hpp:23