Sending int[] instead of a bunch of int for enum type transport; cleaning up method...
[iot2.git] / iotjava / iotrmi / C++ / sample / CallBack_CBStub.hpp
1 #ifndef _CALLBACK_CBSTUB_HPP__
2 #define _CALLBACK_CBSTUB_HPP__
3
4 #include <iostream>
5 #include "CallBackInterface.hpp"
6 #include "../IoTRMICall.hpp"
7
8 using namespace std;
9
10 class CallBack_CBStub : public CallBackInterface {
11         public:
12                 CallBack_CBStub();
13                 CallBack_CBStub(IoTRMICall* _rmiCall, int _objectId);
14                 ~CallBack_CBStub();
15
16                 int                                             printInt();
17                 void                                    setInt(int _i);
18
19         private:                
20
21                 IoTRMICall      *rmiCall;
22                 int             objectId = 0;   // Default value is 0
23 };
24
25
26 // Constructor
27 CallBack_CBStub::CallBack_CBStub() {
28
29         rmiCall = NULL;
30 }
31
32
33 CallBack_CBStub::CallBack_CBStub(IoTRMICall* _rmiCall, int _objectId) {
34
35         objectId = _objectId;
36         rmiCall = _rmiCall;
37 }
38
39
40 CallBack_CBStub::~CallBack_CBStub() {
41
42         if (rmiCall != NULL) {
43                 delete rmiCall;
44                 rmiCall = NULL;
45         }
46 }
47
48
49 int CallBack_CBStub::printInt() {
50
51         cout << "Got here in printInt()" << endl;
52         int numParam = 0;
53         int methodId = 0;
54         string retType = "int";
55         string paramCls[] = { };
56         void* paramObj[] = { };
57         int retVal = 0;
58         void* retObj = &retVal;
59         rmiCall->remoteCall(objectId, methodId, retType, paramCls, paramObj, numParam, retObj);
60         return retVal;
61 }
62
63
64 void CallBack_CBStub::setInt(int _i) {
65
66         int numParam = 1;
67         int methodId = 1;
68         string retType = "void";
69         string paramCls[] = { "int" };
70         void* paramObj[] = { &_i };
71         void* retObj = NULL;
72         rmiCall->remoteCall(objectId, methodId, retType, paramCls, paramObj, numParam, retObj);
73 }
74
75 #endif
76