1 #ifndef _TESTCLASS_HPP__
2 #define _TESTCLASS_HPP__
7 #include "TestClassInterface.hpp"
8 #include "CallBackInterfaceWithCallBack.hpp"
12 class TestClass : public TestClassInterface {
15 TestClass(int _int, float _float, string _string);
17 char getByte(char in);
18 short getShort(short in);
19 int64_t getLong(int64_t in);
20 float getFloat(float in);
21 double getDouble(double in);
22 bool getBoolean(bool in);
23 char getChar(char in);
25 vector<char> getByteArray(vector<char> in);
26 vector<short> getShortArray(vector<short> in);
27 vector<int64_t> getLongArray(vector<int64_t> in);
28 vector<float> getFloatArray(vector<float> in);
29 vector<double> getDoubleArray(vector<double> in);
30 vector<bool> getBooleanArray(vector<bool> in);
31 vector<char> getCharArray(vector<char> in);
33 vector<char> getByteList(vector<char> in);
34 vector<short> getShortList(vector<short> in);
35 vector<int64_t> getLongList(vector<int64_t> in);
36 vector<float> getFloatList(vector<float> in);
37 vector<double> getDoubleList(vector<double> in);
38 vector<bool> getBooleanList(vector<bool> in);
39 vector<char> getCharList(vector<char> in);
42 void registerCallback(CallBackInterfaceWithCallBack* _cb);
43 //void registerCallback(vector<CallBackInterfaceWithCallBack*> _cb);
47 Enum handleEnum(Enum en);
48 vector<Enum> handleEnumArray(vector<Enum> vecEn);
49 vector<Enum> handleEnumList(vector<Enum> vecEn);
53 void setB(float _float);
54 void setC(string _string);
55 string sumArray(vector<string> newA);
56 int setAndGetA(int newA);
57 int setACAndGetA(string newC, int newA);
63 vector<CallBackInterfaceWithCallBack*> cbvec;
67 TestClass::TestClass() {
72 // cbvec doesn't need to be initialized again
76 TestClass::TestClass(int _int, float _float, string _string) {
81 // cbvec doesn't need to be initialized again
85 void TestClass::registerCallback(CallBackInterfaceWithCallBack* _cb) {
88 cout << "Registering callback object!" << endl;
92 /*void TestClass::registerCallback(vector<CallBackInterfaceWithCallBack*> _cb) {
94 for (CallBackInterface* cb : _cb) {
96 cout << "Registering callback object!" << endl;
101 int TestClass::callBack() {
104 for (CallBackInterfaceWithCallBack* cb : cbvec) {
105 sum = sum + cb->printInt();
113 char TestClass::getByte(char in) {
119 short TestClass::getShort(short in) {
125 int64_t TestClass::getLong(int64_t in) {
131 float TestClass::getFloat(float in) {
137 double TestClass::getDouble(double in) {
143 bool TestClass::getBoolean(bool in) {
149 char TestClass::getChar(char in) {
156 vector<char> TestClass::getByteArray(vector<char> in) {
162 vector<short> TestClass::getShortArray(vector<short> in) {
168 vector<int64_t> TestClass::getLongArray(vector<int64_t> in) {
174 vector<float> TestClass::getFloatArray(vector<float> in) {
180 vector<double> TestClass::getDoubleArray(vector<double> in) {
186 vector<bool> TestClass::getBooleanArray(vector<bool> in) {
192 vector<char> TestClass::getCharArray(vector<char> in) {
198 vector<char> TestClass::getByteList(vector<char> in) {
204 vector<short> TestClass::getShortList(vector<short> in) {
210 vector<int64_t> TestClass::getLongList(vector<int64_t> in) {
216 vector<float> TestClass::getFloatList(vector<float> in) {
222 vector<double> TestClass::getDoubleList(vector<double> in) {
228 vector<bool> TestClass::getBooleanList(vector<bool> in) {
234 vector<char> TestClass::getCharList(vector<char> in) {
240 int TestClass::getA() {
246 void TestClass::setA(int _int) {
252 void TestClass::setB(float _float) {
258 void TestClass::setC(string _string) {
265 Enum TestClass::handleEnum(Enum en) {
267 cout << "Enum: " << en << endl;
273 vector<Enum> TestClass::handleEnumArray(vector<Enum> vecEn) {
275 for (Enum en : vecEn) {
276 cout << "Enum: " << en << endl;
283 vector<Enum> TestClass::handleEnumList(vector<Enum> vecEn) {
285 for (Enum en : vecEn) {
286 cout << "Enum: " << en << endl;
293 string TestClass::sumArray(vector<string> newA) {
296 int len = newA.size();
297 for(int c = 0; c < len; c++) {
304 int TestClass::setAndGetA(int newA) {
311 int TestClass::setACAndGetA(string newC, int newA) {