aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.h
blob: 7bb7ee4d220bffd521ba90d97f353562962f3b07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <cstdlib>
#include "PMR/CalculateRequest.pb.h"
#include "PMR/CalculateResponse.pb.h"

#pragma once

#define EXPORT_API __declspec(dllexport)

using namespace std;
using namespace Tango::PMR::Stubs;

namespace Tango
{
	namespace ProtoTest
	{

		class ProtoTester
		{
		public:
			ProtoTester();
			~ProtoTester();

		};
	}
}

extern "C" EXPORT_API int __cdecl Calculate(unsigned char* data, int size, unsigned char* *output)
{
	CalculateRequest request;
	request.ParseFromArray(data, size);

	CalculateResponse* response = new CalculateResponse();
	response->set_sum(request.a() + request.b());


	unsigned char* stream = (unsigned char*)malloc(response->ByteSize());
	response->SerializeToArray(stream, response->ByteSize());
	*output = stream;

	return response->ByteSize();
}