From: rtrimana Date: Thu, 8 Dec 2016 19:51:07 +0000 (-0800) Subject: Testing enum and callback combination X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iot2.git;a=commitdiff_plain;h=09bf1cf8e98526878b4732bf8d3077eb2d1c16e3 Testing enum and callback combination --- diff --git a/config/iotpolicy/testclasspolicy_advanced.pol b/config/iotpolicy/testclasspolicy_advanced.pol index aa269fa..9867b23 100644 --- a/config/iotpolicy/testclasspolicy_advanced.pol +++ b/config/iotpolicy/testclasspolicy_advanced.pol @@ -19,6 +19,7 @@ public interface TestClassInterface { public void registerCallbackList(List _cb); public void registerCallbackComplex(int in, List _cb, double db); public int callBack(); + public Enum[] handleCallbackEnum(Enum en[], char c, List _cb); public Enum[] handleAll(Enum en[], List str, char c, List _cb); @@ -38,6 +39,7 @@ public interface TestClassInterface { method = "handleStructComplex2(int in, char c, Struct str[])"; method = "handleEnumStruct(Enum en[], List str, char c)"; + method = "handleCallbackEnum(Enum en[], char c, List _cb)"; method = "handleAll(Enum en[], List str, char c, List _cb)"; } diff --git a/iotjava/iotrmi/C++/basics/TestClass.hpp b/iotjava/iotrmi/C++/basics/TestClass.hpp index f33dbf2..a052c0d 100644 --- a/iotjava/iotrmi/C++/basics/TestClass.hpp +++ b/iotjava/iotrmi/C++/basics/TestClass.hpp @@ -44,6 +44,7 @@ class TestClass : public TestClassInterface { void registerCallbackList(vector _cb); void registerCallbackComplex(int in, vector _cb, double db); int callBack(); + vector handleCallbackEnum(vector en, char c, vector _cb); // Enum Enum handleEnum(Enum en); @@ -468,6 +469,19 @@ vector TestClass::handleAll(vector en, vector str, char c, v } +vector TestClass::handleCallbackEnum(vector en, char c, vector _cb) { + + for (CallBackInterfaceWithCallBack* cb : _cb) { + cbvec.push_back(cb); + cout << "Registering callback object in array!" << endl; + } + + cout << "Char: " << c << endl; + + return en; +} + + string TestClass::sumArray(vector newA) { string sum = ""; diff --git a/iotjava/iotrmi/C++/basics/TestClassAdvanced_Stub.cpp b/iotjava/iotrmi/C++/basics/TestClassAdvanced_Stub.cpp index 02aa8bb..8e23210 100644 --- a/iotjava/iotrmi/C++/basics/TestClassAdvanced_Stub.cpp +++ b/iotjava/iotrmi/C++/basics/TestClassAdvanced_Stub.cpp @@ -109,10 +109,15 @@ int main(int argc, char *argv[]) // tcStub->registerCallbackList(cblist); // cout << "Return value from callback: " << tcStub->callBack() << endl; /* tcStub->registerCallbackComplex(23, cblist, 0.1234); - cout << "Return value from callback: " << tcStub->callBack() << endl;*/ + cout << "Return value from callback: " << tcStub->callBack() << endl; vector vecRes5 = tcStub->handleAll(vecEn, vecStr, 'c', cblist); for (Enum en : vecRes5) { cout << "Enum value: " << en << endl; + }*/ + + vector vecRes6 = tcStub->handleCallbackEnum(vecEn, 'c', cblist); + for (Enum en : vecRes6) { + cout << "Enum value: " << en << endl; } return 0; diff --git a/iotjava/iotrmi/Java/basics/TestClass.java b/iotjava/iotrmi/Java/basics/TestClass.java index 51aed4c..411e7db 100644 --- a/iotjava/iotrmi/Java/basics/TestClass.java +++ b/iotjava/iotrmi/Java/basics/TestClass.java @@ -413,6 +413,19 @@ public class TestClass implements TestClassInterface { } + public Enum[] handleCallbackEnum(Enum en[], char c, List _cb) { + + for (CallBackInterfaceWithCallBack cb : _cb) { + cblist.add(cb); + System.out.println("Registering callback objects in list!"); + } + + System.out.println("Char: " + c); + + return en; + } + + // Getters public String sumArray(String[] newA) { diff --git a/iotjava/iotrmi/Java/basics/TestClassAdvanced_Stub.java b/iotjava/iotrmi/Java/basics/TestClassAdvanced_Stub.java index b8b7e24..759d3a6 100644 --- a/iotjava/iotrmi/Java/basics/TestClassAdvanced_Stub.java +++ b/iotjava/iotrmi/Java/basics/TestClassAdvanced_Stub.java @@ -46,20 +46,20 @@ public class TestClassAdvanced_Stub { Struct strRes2 = tcstub.handleStructComplex(23, 'c', str); System.out.println("Name: " + strRes2.name); System.out.println("Value: " + strRes2.value); - System.out.println("Year: " + strRes2.year);*/ + System.out.println("Year: " + strRes2.year); Struct str2 = new Struct(); str2.name = "Trimananda"; str2.value = 0.124f; str2.year = 2017; Struct[] arrStr = { str, str2 }; -/* Struct[] arrRet = tcstub.handleStructArray(arrStr); + Struct[] arrRet = tcstub.handleStructArray(arrStr); for(Struct st : arrRet) { System.out.println("Name: " + st.name); System.out.println("Value: " + st.value); System.out.println("Year: " + st.year); - }*/ + } List stList = new ArrayList(Arrays.asList(arrStr)); -/* List stRetList = tcstub.handleStructList(stList); + List stRetList = tcstub.handleStructList(stList); for(Struct st : stRetList) { System.out.println("Name: " + st.name); System.out.println("Value: " + st.value); @@ -92,8 +92,11 @@ public class TestClassAdvanced_Stub { // System.out.println("Return value from callback: " + tcstub.callBack()); /* tcstub.registerCallbackComplex(23, cblist, 0.1234); - System.out.println("Return value from callback: " + tcstub.callBack());*/ + System.out.println("Return value from callback: " + tcstub.callBack()); Enum[] resArr4 = tcstub.handleAll(enArr, stList, 'c', cblist); - System.out.println("Enum members: " + Arrays.toString(resArr4)); + System.out.println("Enum members: " + Arrays.toString(resArr4));*/ + + Enum[] resArr5 = tcstub.handleCallbackEnum(enArr, 'c', cblist); + System.out.println("Enum members: " + Arrays.toString(resArr5)); } }