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();
}
|