Making C++ classes final
[iot2.git] / iotjava / iotruntime / cpp / IoTDeviceAddress.hpp
1 #ifndef _IOTDEVICEADDRESS_HPP__
2 #define _IOTDEVICEADDRESS_HPP__
3 #include <iostream>
4
5 #include "IoTAddress.hpp"
6
7 using namespace std;
8
9 // IoTDeviceAddress class for iotruntime
10 // Implemented based on IoTDeviceAddress.java that is used to wrap device address
11 //
12 // @author      Rahmadi Trimananda <rahmadi.trimananda @ uci.edu>
13 // @version     1.0
14 // @since       2017-01-09
15
16
17 class IoTDeviceAddress final : public IoTAddress
18 {
19
20         public:
21
22                 // Constructor
23                 IoTDeviceAddress(string _sAddress, int _iSrcPort, int _iDstPort, bool _isSrcPortWildCard, bool _isDstPortWildCard) : IoTAddress(_sAddress) {
24
25                         iSrcPort = _iSrcPort;
26                         iDstPort = _iDstPort;
27                         isSrcPortWildCard = _isSrcPortWildCard;
28                         isDstPortWildCard = _isDstPortWildCard;
29                 }
30
31
32                 // Constructor
33                 IoTDeviceAddress() {
34                 }
35
36
37                 ~IoTDeviceAddress() {
38                 }
39
40
41                 // Getter methods
42                 int getSourcePortNumber() {
43
44                         return iSrcPort;
45                 }
46
47
48                 int getDestinationPortNumber() {
49
50                         return iDstPort;
51                 }
52
53
54                 bool getIsSrcPortWildcard() {
55
56                         return isSrcPortWildCard;
57                 }
58
59
60                 bool getIsDstPortWildcard() {
61
62                         return isDstPortWildCard;
63                 }
64
65
66                 // Setter methods
67                 void setSrcPort(int port) {
68
69                         if (isDstPortWildCard) {
70                                 iDstPort = port;
71                         }
72                 }
73
74
75                 void setDstPort(int port) {
76
77                         if (isSrcPortWildCard) {
78                                 iSrcPort = port;
79                         }
80                 }
81
82
83         // IoTDeviceAddress class properties
84         private:
85                 int iSrcPort;
86                 int iDstPort;
87
88                 bool isSrcPortWildCard;
89                 bool isDstPortWildCard;
90 };
91 #endif