OpenLexocad  28.0
Transaction2.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <string>
5 #include <map>
6 #include <vector>
7 
8 namespace Core { class CoreDocument; }
9 namespace Core { class DocObject; }
10 
11 namespace Core
12 {
13 class Transaction2P;
14 
15 class LX_CORE_EXPORT Transaction2
16 {
17 public:
20 
22  void commit();
23 
24  const std::vector<Core::DocObject*>& getNewObjects() const;
25  const std::vector<Core::DocObject*>& getUpdatedObjects() const;
26  const std::vector<Core::DocObject*>& getDeletedObjects() const;
27  const std::map<Core::DocObject*, std::vector<std::string>>& getErroneousObjects() const;
28 
29 private:
30  std::unique_ptr<Transaction2P> _pimpl;
31 };
32 } // namespace Core
Core::Transaction2::getDeletedObjects
const std::vector< Core::DocObject * > & getDeletedObjects() const
Core::CoreDocument
Definition: CoreDocument.h:269
Core::Transaction2::~Transaction2
~Transaction2()
Core::Transaction2::Transaction2
Transaction2(Core::CoreDocument *aDoc)
Core::Transaction2::getErroneousObjects
const std::map< Core::DocObject *, std::vector< std::string > > & getErroneousObjects() const
Core::Transaction2::commit
void commit()
Commits the transaction.
Core::Transaction2::getNewObjects
const std::vector< Core::DocObject * > & getNewObjects() const
Core::Transaction2
Definition: Transaction2.h:16
Core
Definition: Base.h:5
Core::Transaction2::getUpdatedObjects
const std::vector< Core::DocObject * > & getUpdatedObjects() const