b3c696d742ccc71b1893d583a87cde506501e441
[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         bool wasSentInChain;
17         int64_t transactionSequenceNumber;
18         int64_t arbitrator;
19         
20  public:
21  TransactionStatus(char _status, int64_t _arbitrator) :
22         status(_status),
23                 applicationReleased(false),
24                 wasSentInChain(false),
25                 transactionSequenceNumber(0),
26                 arbitrator(_arbitrator) {
27                 }
28         
29         char getStatus() { return status; }
30         void setStatus(char _status) { status = _status; }
31         int64_t getTransactionSequenceNumber() { return transactionSequenceNumber; }
32         void setTransactionSequenceNumber(int64_t _transactionSequenceNumber) { transactionSequenceNumber = _transactionSequenceNumber; }
33         int64_t getTransactionArbitrator() { return arbitrator; }
34         void release() { applicationReleased = true;}
35         bool getReleased() { return applicationReleased;}
36 };
37 #endif