VisualIB  1.0
IBExpress library for making use of Borland IBExpress outside of C++Builder
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
classVIBTransaction.h
Go to the documentation of this file.
1 
7 #ifndef CLASSVIBTRANSACTION_H__
8 #define CLASSVIBTRANSACTION_H__
9 
10 #include "../vibtypes.h"
11 #include "VIBProperties.h"
12 
13 struct VIBTransaction;
14 struct VIBDatabase;
15 
16 namespace VIB
17 {
18  class Database;
19 
25  {
26  protected:
28 
29  public:
35  Transaction(VIBTransaction *pvtr = NULL);
39  virtual ~Transaction();
40 
50  int Call(int ErrCode, bool RaiseError);
57  void Commit();
62  void CommitRetaining();
69  void Rollback();
75  void RollbackRetaining();
84  void StartTransaction();
91  void CheckInTransaction();
98  void CheckNotInTransaction();
103  void CheckAutoStop();
113  int AddDatabase(Database *db);
123  int FindDatabase(Database *db);
138  void RemoveDatabase(int Idx);
143  void RemoveDatabases();
149  void CheckDatabasesInList();
150 
155  VIBTransaction *getVIBTransaction() const { return vtr; }
156 
157  // Property classes
158 
163  {
164  protected:
166  public:
171  DatabasesClass(Transaction *pParent) : parent(pParent) {}
172 
181  VIBDatabase *operator [] (int i);
182  };
183 
188  {
189  protected:
191  public:
196  ParamClass(Transaction *pParent) : parent(pParent) {}
202  void Add(const std::string &str);
203  };
204  friend class ParamClass;
205 
206  protected:
207  // Property class instances
210 
211  public:
212  // Properties
296 
306  };
307 }
308 
309 #endif
310 
311 // EOF
312