a4127d8ebdb5d9ac126923173d6d77acbf572b06
[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 static exception_ptr teptr = nullptr;
9
10 int main(int argc, char *argv[])
11 {
12
13         int port = 5010;
14         const char* address = "localhost";
15         int rev = 0;
16         bool bResult = false;
17         vector<int> ports;
18         ports.push_back(12345);
19         //ports.push_back(13234);
20
21         TestClassInterface *tcStub = new TestClass_Stub(port, address, rev, &bResult, ports);
22         cout << "Return value: " << tcStub->setAndGetA(123) << endl;
23         cout << "Return value: " << tcStub->setACAndGetA("string", 123) << endl;
24         vector<string> input;
25         input.push_back("123");
26         input.push_back("456");
27         input.push_back("987");
28         /*vector<int> input;
29         input.push_back(123);
30         input.push_back(456);
31         input.push_back(987);*/
32
33         cout << "Return value: " << tcStub->sumArray(input) << endl;
34         
35         CallBackInterface *cb1 = new CallBack(23);
36         CallBackInterface *cb2 = new CallBack(33);
37         CallBackInterface *cb3 = new CallBack(43);
38         vector<CallBackInterface*> cb;
39         cb.push_back(cb1);
40         cb.push_back(cb2);
41         cb.push_back(cb3);
42         tcStub->registerCallback(cb);
43         CallBackInterface *cb4 = new CallBack(53);
44         CallBackInterface *cb5 = new CallBack(63);
45         CallBackInterface *cb6 = new CallBack(73);
46         vector<CallBackInterface*> cbsec;
47         cbsec.push_back(cb4);
48         cbsec.push_back(cb5);
49         cbsec.push_back(cb6);
50         tcStub->registerCallback(cbsec);
51         cout << "Return value from callback: " << tcStub->callBack() << endl;
52
53         vector<data> dataset;
54
55         data testdata;
56         testdata.name = "Rahmadi";
57         testdata.value = 0.123;
58         testdata.year = 2016;
59
60         data testdata2;
61         testdata2.name = "Trimananda";
62         testdata2.value = 0.223;
63         testdata2.year = 2017;
64
65         dataset.push_back(testdata);
66         dataset.push_back(testdata2);
67
68         vector<data> result = tcStub->handleStruct(dataset);
69         for (data dt : result) {
70                 cout << dt.name << " ";
71                 cout << dt.value << " ";
72                 cout << dt.year << endl;
73         }
74
75 /*      vector<EnumC> vecEn;
76         vecEn.push_back(APPLE);
77         vecEn.push_back(ORANGE);
78         vecEn.push_back(APPLE);
79         vecEn.push_back(GRAPE);
80         vector<EnumC> vecRes = tcStub->handleEnum(vecEn);
81         for (EnumC en : vecRes) {
82                 cout << "EnumC: " << en << endl;
83         }
84
85         delete tcStub;
86         delete cb1;
87         delete cb2;
88         delete cb3;*/
89
90         return 0;
91 }