space hacks
[iotcloud.git] / version2 / src / C / TransactionStatus.h
1 #ifndef TRANSACTIONSTATUS_H
2 #define TRANSACTIONSTATUS_H
3
4 #define TransactionStatus_StatusAborted 1
5 #define TransactionStatus_StatusPending 2
6 #define TransactionStatus_StatusCommitted 3
7 #define TransactionStatus_StatusRetrying 4
8 #define TransactionStatus_StatusSentPartial 5
9 #define TransactionStatus_StatusSentFully 6
10 #define TransactionStatus_StatusNoEffect 10
11
12 class TransactionStatus {
13 private:
14         char status;
15         bool applicationReleased;
16         int64_t transactionSequenceNumber;
17         int64_t arbitrator;
18
19 public:
20         TransactionStatus(char _status, int64_t _arbitrator) :
21                 status(_status),
22                 applicationReleased(false),
23                 transactionSequenceNumber(0),
24                 arbitrator(_arbitrator) {
25         }
26
27         char getStatus() { return status; }
28         void setStatus(char _status) { status = _status; }
29         int64_t getTransactionSequenceNumber() { return transactionSequenceNumber; }
30         void setTransactionSequenceNumber(int64_t _transactionSequenceNumber) { transactionSequenceNumber = _transactionSequenceNumber; }
31         int64_t getTransactionArbitrator() { return arbitrator; }
32         void release() { applicationReleased = true;}
33         bool getReleased() { return applicationReleased;}
34 };
35 #endif