Sending int[] instead of a bunch of int for enum type transport; cleaning up method...
[iot2.git] / iotjava / iotrmi / C++ / sample / TestClass_Stub.cpp
1 #include <iostream>
2 #include <string>
3 #include "TestClass_Stub.hpp"
4 #include "CallBack.hpp"
5
6 using namespace std;
7
8 int main(int argc, char *argv[])
9 {
10
11         int port = 5011;
12         const char* address = "localhost";
13         int rev = 0;
14         bool bResult = false;
15         vector<int> ports;
16         ports.push_back(12346);
17         //ports.push_back(13234);
18
19         TestClassInterface *tcStub = new TestClass_Stub(port, address, rev, &bResult, ports);
20         cout << "Return value: " << tcStub->setAndGetA(123) << endl;
21         cout << "Return value: " << tcStub->setACAndGetA("string", 123) << endl;
22         vector<string> input;
23         input.push_back("123");
24         input.push_back("456");
25         input.push_back("987");
26         /*vector<int> input;
27         input.push_back(123);
28         input.push_back(456);
29         input.push_back(987);*/
30
31         cout << "Return value: " << tcStub->sumArray(input) << endl;
32         
33         CallBackInterface *cb1 = new CallBack(23);
34         CallBackInterface *cb2 = new CallBack(33);
35         CallBackInterface *cb3 = new CallBack(43);
36         vector<CallBackInterface*> cb;
37         cb.push_back(cb1);
38         cb.push_back(cb2);
39         cb.push_back(cb3);
40         tcStub->registerCallback(cb);
41         /*CallBackInterface *cb4 = new CallBack(53);
42         CallBackInterface *cb5 = new CallBack(63);
43         CallBackInterface *cb6 = new CallBack(73);
44         vector<CallBackInterface*> cbsec;
45         cb.push_back(cb4);
46         cb.push_back(cb5);
47         cb.push_back(cb6);
48         tcStub->registerCallback(cbsec);*/
49         cout << "Return value from callback: " << tcStub->callBack() << endl;
50
51         vector<data> dataset;
52
53         data testdata;
54         testdata.name = "Rahmadi";
55         testdata.value = 0.123;
56         testdata.year = 2016;
57
58         data testdata2;
59         testdata2.name = "Trimananda";
60         testdata2.value = 0.223;
61         testdata2.year = 2017;
62
63         dataset.push_back(testdata);
64         dataset.push_back(testdata2);
65
66         tcStub->handleStruct(dataset);
67
68         vector<EnumC> vecEn;
69         vecEn.push_back(APPLE);
70         vecEn.push_back(ORANGE);
71         vecEn.push_back(APPLE);
72         vecEn.push_back(GRAPE);
73         vector<EnumC> vecRes = tcStub->handleEnum(vecEn);
74         for (EnumC en : vecRes) {
75                 cout << "EnumC: " << en << endl;
76         }
77
78         delete tcStub;
79         delete cb1;
80         delete cb2;
81         delete cb3;
82
83         return 0;
84 }