1 #ifndef _TESTCLASS_HPP__
2 #define _TESTCLASS_HPP__
5 #include "TestClassInterface.hpp"
10 class TestClass : public TestClassInterface {
13 TestClass(int _int, float _float, string _string);
17 void setB(float _float);
18 void setC(string _string);
19 string sumArray(vector<string> newA);
20 //int64_t sumArray(vector<int> newA);
21 int setAndGetA(int newA);
22 int setACAndGetA(string newC, int newA);
23 void registerCallback(CallBackInterface* _cb);
24 void registerCallback(vector<CallBackInterface*> _cb);
26 void handleStruct(vector<data> vecData);
27 void handleEnum(vector<EnumC> vecEn);
33 CallBackInterface *cb;
34 vector<CallBackInterface*> cbvec;
39 TestClass::TestClass() {
45 // cbvec doesn't need to be initialized again
49 TestClass::TestClass(int _int, float _float, string _string) {
55 // cbvec doesn't need to be initialized again
59 void TestClass::setA(int _int) {
65 void TestClass::setB(float _float) {
71 void TestClass::setC(string _string) {
77 string TestClass::sumArray(vector<string> newA) {
80 int len = newA.size();
81 for(int c = 0; c < len; c++) {
88 /*int64_t TestClass::sumArray(vector<int> newA) {
91 int len = newA.size();
92 for(int c = 0; c < len; c++) {
99 int TestClass::setAndGetA(int newA) {
106 int TestClass::setACAndGetA(string newC, int newA) {
114 void TestClass::registerCallback(CallBackInterface* _cb) {
120 void TestClass::registerCallback(vector<CallBackInterface*> _cb) {
122 for (CallBackInterface* cb : _cb) {
124 cout << "Registering callback object!" << endl;
129 void TestClass::handleStruct(vector<data> vecData) {
131 for (data dat : vecData) {
133 cout << "Name: " << dat.name << endl;
134 cout << "Value: " << dat.value << endl;
135 cout << "Year: " << dat.year << endl;
140 void TestClass::handleEnum(vector<EnumC> vecEn) {
142 for (EnumC en : vecEn) {
143 cout << "Enum: " << en << endl;
148 //int TestClass::callBack() {
149 // return cb.printInt();
153 int TestClass::callBack() {
156 for (CallBackInterface* cb : cbvec) {
157 sum = sum + cb->printInt();