//This file is automatically generated. DO NOT EDIT!

#include "com__robotraconteur__testing__TestService1.h"
// NOLINTBEGIN
#include "com__robotraconteur__testing__TestService2_stubskel.h"
#pragma once

namespace com
{
namespace robotraconteur
{
namespace testing
{
namespace TestService1
{

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT com__robotraconteur__testing__TestService1Factory : public virtual RobotRaconteur::ServiceFactory
{
public:
RR_OVIRTUAL std::string GetServiceName() RR_OVERRIDE;
RR_OVIRTUAL std::string DefString() RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::StructureStub> FindStructureStub(boost::string_ref s) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::RRStructure>& structin) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> UnpackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackPodArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseArray>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseArray> UnpackPodArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackPodMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseMultiDimArray>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseMultiDimArray> UnpackPodMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackNamedArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseArray>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseArray> UnpackNamedArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackNamedMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseMultiDimArray>& structure) RR_OVERRIDE ;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseMultiDimArray> UnpackNamedMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& structure) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::ServiceStub> CreateStub(boost::string_ref objecttype, boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& context) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::ServiceSkel> CreateSkel(boost::string_ref objecttype, boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& obj, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context) RR_OVERRIDE;
RR_OVIRTUAL void DownCastAndThrowException(RobotRaconteur::RobotRaconteurException& exp) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException> DownCastException(const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& exp) RR_OVERRIDE;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT teststruct1_stub : public virtual RobotRaconteur::StructureStub
{
public:
teststruct1_stub(const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurNode>& node) : RobotRaconteur::StructureStub(node) {}
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& s) RR_OVERRIDE ;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRStructure> UnpackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& m) RR_OVERRIDE ;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT teststruct2_stub : public virtual RobotRaconteur::StructureStub
{
public:
teststruct2_stub(const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurNode>& node) : RobotRaconteur::StructureStub(node) {}
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> PackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& s) RR_OVERRIDE ;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRStructure> UnpackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& m) RR_OVERRIDE ;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT async_testroot : public virtual com::robotraconteur::testing::TestService2::async_baseobj
{
// NOLINTBEGIN
public:
virtual void async_get_d1(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d1(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_s1(boost::function<void (float,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_s1(float value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_s2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i8_1(boost::function<void (int8_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i8_1(int8_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i8_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u8_1(boost::function<void (uint8_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u8_1(uint8_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u8_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u8_3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i16_1(boost::function<void (int16_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i16_1(int16_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i16_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u16_1(boost::function<void (uint16_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u16_1(uint16_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u16_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i32_1(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i32_1(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i32_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i32_huge(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u32_1(boost::function<void (uint32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u32_1(uint32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u32_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i64_1(boost::function<void (int64_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i64_1(int64_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i64_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u64_1(boost::function<void (uint64_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u64_1(uint64_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_u64_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_str1(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_str1(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_struct1(boost::function<void (const RR_INTRUSIVE_PTR<teststruct1 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_struct1(const RR_INTRUSIVE_PTR<teststruct1 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_struct2(boost::function<void (const RR_INTRUSIVE_PTR<teststruct2 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_struct2(const RR_INTRUSIVE_PTR<teststruct2 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_d6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_str1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_str2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_struct1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_is_struct2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_struct3(boost::function<void (const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_struct3(const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_list_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_list_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_list_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_list_str1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_list_struct1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_num(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_str(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_struct(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_vector(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_dictionary(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_list(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_var_multidimarray(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_errtest(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_errtest(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_nulltest(boost::function<void (const RR_INTRUSIVE_PTR<teststruct1 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_nulltest(const RR_INTRUSIVE_PTR<teststruct1 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func1(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func2(double d1, double d2,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func3(double d1, double d2,boost::function<void (double, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_meaning_of_life(boost::function<void (int32_t, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func_errtest(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func_errtest1(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func_errtest2(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_func_errtest3(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_o6_op(int32_t op,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_pipe_check_error(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_test_callbacks(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_o1(boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o2(int32_t ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o3(int32_t ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o4(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o5(boost::function<void(RR_SHARED_PTR<com::robotraconteur::testing::TestService2::subobj>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o6(boost::function<void(RR_SHARED_PTR<RobotRaconteur::RRObject>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

// NOLINTEND
};
class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT async_sub1
{
// NOLINTBEGIN
public:
virtual void async_get_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_s_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_s_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i_ind(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i_ind(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_o2_1(boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o2_2(int32_t ind, boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

virtual void async_get_o2_3(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

// NOLINTEND
};
class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT async_sub2
{
// NOLINTBEGIN
public:
virtual void async_get_s_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_s_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_i_ind(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_i_ind(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_data(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_data(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_o3_1(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub3>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE)=0;

// NOLINTEND
};
class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT async_sub3
{
// NOLINTBEGIN
public:
virtual void async_get_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_data2(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_data2(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_get_data3(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;
virtual void async_set_data3(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


virtual void async_add(double d,boost::function<void (double, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) = 0;


// NOLINTEND
};
class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT testroot_stub : public virtual testroot, public virtual async_testroot, public virtual RobotRaconteur::ServiceStub
{
public:
testroot_stub(boost::string_ref, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c);

RR_OVIRTUAL void RRInitStub() RR_OVERRIDE ;
RR_OVIRTUAL double get_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_d1(double value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL float get_s1() RR_OVERRIDE;
RR_OVIRTUAL void set_s1(float value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > get_s2() RR_OVERRIDE;
RR_OVIRTUAL void set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& value) RR_OVERRIDE;

RR_OVIRTUAL int8_t get_i8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_1(int8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > get_i8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint8_t get_u8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_1(uint8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > get_u8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > get_u8_3() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int16_t get_i16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_1(int16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > get_i16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint16_t get_u16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_1(uint16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > get_u16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_1(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_huge() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint32_t get_u32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_1(uint32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > get_u32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int64_t get_i64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_1(int64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > get_i64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint64_t get_u64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_1(uint64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > get_u64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_str1(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_struct1(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct2 > get_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_struct2(const RR_INTRUSIVE_PTR<teststruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > get_is_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > get_is_str2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > get_is_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > get_is_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > get_struct3() RR_OVERRIDE;
RR_OVIRTUAL void set_struct3(const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > get_list_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > get_list_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > get_list_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var1() RR_OVERRIDE;
RR_OVIRTUAL void set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > get_var2() RR_OVERRIDE;
RR_OVIRTUAL void set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_num() RR_OVERRIDE;
RR_OVIRTUAL void set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_str() RR_OVERRIDE;
RR_OVIRTUAL void set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_struct() RR_OVERRIDE;
RR_OVIRTUAL void set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_vector() RR_OVERRIDE;
RR_OVIRTUAL void set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_dictionary() RR_OVERRIDE;
RR_OVIRTUAL void set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_list() RR_OVERRIDE;
RR_OVIRTUAL void set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_multidimarray() RR_OVERRIDE;
RR_OVIRTUAL void set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL double get_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_errtest(double value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_nulltest() RR_OVERRIDE;
RR_OVIRTUAL void set_nulltest(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL void func1() RR_OVERRIDE;

RR_OVIRTUAL void func2(double d1, double d2) RR_OVERRIDE;

RR_OVIRTUAL double func3(double d1, double d2) RR_OVERRIDE;

RR_OVIRTUAL int32_t meaning_of_life() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest1() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest2() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest3() RR_OVERRIDE;

RR_OVIRTUAL void o6_op(int32_t op) RR_OVERRIDE;

RR_OVIRTUAL void pipe_check_error() RR_OVERRIDE;

RR_OVIRTUAL void test_callbacks() RR_OVERRIDE;

RR_OVIRTUAL boost::signals2::signal<void ()>& get_ev1() RR_OVERRIDE;

RR_OVIRTUAL boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)>& get_ev2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o3(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o4(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<com::robotraconteur::testing::TestService2::subobj > get_o5() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject > get_o6() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > get_p1() RR_OVERRIDE;
RR_OVIRTUAL void set_p1(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > > get_p2() RR_OVERRIDE;
RR_OVIRTUAL void set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<double > > get_broadcastpipe() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastpipe(const RR_SHARED_PTR<RobotRaconteur::Pipe<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb1() RR_OVERRIDE;
RR_OVIRTUAL void set_cb1(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void(double, double) > > > get_cb2() RR_OVERRIDE;
RR_OVIRTUAL void set_cb2(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void(double, double)> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double) > > > get_cb3() RR_OVERRIDE;
RR_OVIRTUAL void set_cb3(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double)> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t() > > > get_cb_meaning_of_life() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_meaning_of_life(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_errtest(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > get_w1() RR_OVERRIDE;
RR_OVIRTUAL void set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > > get_w2() RR_OVERRIDE;
RR_OVIRTUAL void set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > get_w3() RR_OVERRIDE;
RR_OVIRTUAL void set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<double > > get_broadcastwire() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastwire(const RR_SHARED_PTR<RobotRaconteur::Wire<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::ArrayMemory<double > > get_m1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<double > > get_m2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<uint8_t > > get_m3() RR_OVERRIDE;


RR_OVIRTUAL void DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void RRClose() RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::PipeClientBase> RRGetPipeClient(boost::string_ref membername) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::WireClientBase> RRGetWireClient(boost::string_ref membername) RR_OVERRIDE;
private:
boost::signals2::signal<void ()> rrvar_ev1;

boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)> rrvar_ev2;

RR_SHARED_PTR<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > rrvar_p1;
RR_SHARED_PTR<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<teststruct2 > > > rrvar_p2;
RR_SHARED_PTR<RobotRaconteur::PipeClient<double > > rrvar_broadcastpipe;
RR_SHARED_PTR<RobotRaconteur::CallbackClient<boost::function<void() > > > rrvar_cb1;
RR_SHARED_PTR<RobotRaconteur::CallbackClient<boost::function<void(double, double) > > > rrvar_cb2;
RR_SHARED_PTR<RobotRaconteur::CallbackClient<boost::function<double(double, double) > > > rrvar_cb3;
RR_SHARED_PTR<RobotRaconteur::CallbackClient<boost::function<int32_t() > > > rrvar_cb_meaning_of_life;
RR_SHARED_PTR<RobotRaconteur::CallbackClient<boost::function<void() > > > rrvar_cb_errtest;
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > rrvar_w1;
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<teststruct2 > > > rrvar_w2;
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > rrvar_w3;
RR_SHARED_PTR<RobotRaconteur::WireClient<double > > rrvar_broadcastwire;
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<double > > rrvar_m1;
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryClient<double > > rrvar_m2;
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryClient<uint8_t > > rrvar_m3;
RR_OVIRTUAL void async_get_d1(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d1(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (double ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_s1(boost::function<void (float,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_s1(float value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_s1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (float ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_s1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_s2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i8_1(boost::function<void (int8_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i8_1(int8_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i8_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int8_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i8_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i8_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u8_1(boost::function<void (uint8_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u8_1(uint8_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u8_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (uint8_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u8_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u8_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u8_3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i16_1(boost::function<void (int16_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i16_1(int16_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i16_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int16_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i16_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i16_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u16_1(boost::function<void (uint16_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u16_1(uint16_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u16_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (uint16_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u16_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u16_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i32_1(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i32_1(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i32_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int32_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i32_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i32_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i32_huge(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u32_1(boost::function<void (uint32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u32_1(uint32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u32_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (uint32_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u32_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u32_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i64_1(boost::function<void (int64_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i64_1(int64_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i64_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int64_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i64_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i64_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u64_1(boost::function<void (uint64_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u64_1(uint64_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u64_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (uint64_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u64_1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_u64_2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_str1(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_str1(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_struct1(boost::function<void (const RR_INTRUSIVE_PTR<teststruct1 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_struct1(const RR_INTRUSIVE_PTR<teststruct1 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<teststruct1 >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_struct2(boost::function<void (const RR_INTRUSIVE_PTR<teststruct2 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_struct2(const RR_INTRUSIVE_PTR<teststruct2 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<teststruct2 >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_d6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_str1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_str2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_struct1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_is_struct2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_struct3(boost::function<void (const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_struct3(const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_struct3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_struct3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_list_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_list_d3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_list_d5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_list_str1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_list_struct1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_num(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_str(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_struct(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_vector(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_dictionary(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_list(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_var_multidimarray(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_errtest(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_errtest(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_errtest(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (double ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_errtest(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_nulltest(boost::function<void (const RR_INTRUSIVE_PTR<teststruct1 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_nulltest(const RR_INTRUSIVE_PTR<teststruct1 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_nulltest(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<teststruct1 >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_nulltest(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func1(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func2(double d1, double d2,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func3(double d1, double d2,boost::function<void (double, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (double ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_meaning_of_life(boost::function<void (int32_t, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_meaning_of_life(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int32_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func_errtest(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func_errtest(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func_errtest1(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func_errtest1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func_errtest2(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func_errtest2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_func_errtest3(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_func_errtest3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_o6_op(int32_t op,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_o6_op(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_pipe_check_error(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_pipe_check_error(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_test_callbacks(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_test_callbacks(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_o1(boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o2(int32_t ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o3(int32_t ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o4(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub1>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o5(boost::function<void(RR_SHARED_PTR<com::robotraconteur::testing::TestService2::subobj>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o6(boost::function<void(RR_SHARED_PTR<RobotRaconteur::RRObject>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub1_stub : public virtual sub1, public virtual async_sub1, public virtual RobotRaconteur::ServiceStub
{
public:
sub1_stub(boost::string_ref, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c);

RR_OVIRTUAL void RRInitStub() RR_OVERRIDE ;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_3(const std::string& ind) RR_OVERRIDE;


RR_OVIRTUAL void DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void RRClose() RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::PipeClientBase> RRGetPipeClient(boost::string_ref membername) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::WireClientBase> RRGetWireClient(boost::string_ref membername) RR_OVERRIDE;
private:
RR_OVIRTUAL void async_get_d1(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_d2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_s_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_s_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_s_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_s_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i_ind(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i_ind(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int32_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_o2_1(boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o2_2(int32_t ind, boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL void async_get_o2_3(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub2>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub2_stub : public virtual sub2, public virtual async_sub2, public virtual RobotRaconteur::ServiceStub
{
public:
sub2_stub(boost::string_ref, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c);

RR_OVIRTUAL void RRInitStub() RR_OVERRIDE ;
RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data() RR_OVERRIDE;
RR_OVIRTUAL void set_data(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub3 > get_o3_1(const std::string& ind) RR_OVERRIDE;


RR_OVIRTUAL void DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void RRClose() RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::PipeClientBase> RRGetPipeClient(boost::string_ref membername) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::WireClientBase> RRGetWireClient(boost::string_ref membername) RR_OVERRIDE;
private:
RR_OVIRTUAL void async_get_s_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_s_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_s_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_s_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_i_ind(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_i_ind(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_i_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (int32_t ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_i_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_data(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_data(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_data(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_data(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_o3_1(const std::string& ind, boost::function<void(RR_SHARED_PTR<sub3>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE;
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub3_stub : public virtual sub3, public virtual async_sub3, public virtual RobotRaconteur::ServiceStub
{
public:
sub3_stub(boost::string_ref, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c);

RR_OVIRTUAL void RRInitStub() RR_OVERRIDE ;
RR_OVIRTUAL std::string get_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data2() RR_OVERRIDE;
RR_OVIRTUAL void set_data2(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL double get_data3() RR_OVERRIDE;
RR_OVIRTUAL void set_data3(double value) RR_OVERRIDE;

RR_OVIRTUAL double add(double d) RR_OVERRIDE;


RR_OVIRTUAL void DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;
RR_OVIRTUAL void RRClose() RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::PipeClientBase> RRGetPipeClient(boost::string_ref membername) RR_OVERRIDE;
RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::WireClientBase> RRGetWireClient(boost::string_ref membername) RR_OVERRIDE;
private:
RR_OVIRTUAL void async_get_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_ind(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_data2(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_data2(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_data2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const std::string& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_data2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_get_data3(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;
RR_OVIRTUAL void async_set_data3(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_get_data3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (double ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
virtual void rrend_set_data3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL void async_add(double d,boost::function<void (double, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout=RR_TIMEOUT_INFINITE) RR_OVERRIDE;

protected:
virtual void rrend_add(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (double ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler);
public:
RR_OVIRTUAL std::string RRType() RR_OVERRIDE;
};


class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT testroot_skel : public virtual RobotRaconteur::ServiceSkel
{
public:
RR_OVIRTUAL void Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL void ReleaseCastObject() RR_OVERRIDE;

RR_OVIRTUAL void RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject> GetSubObj(boost::string_ref, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL void InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<void> GetCallbackFunction(uint32_t endpoint, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e) RR_OVERRIDE;

RR_OVIRTUAL bool IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL std::string GetObjectType() RR_OVERRIDE;
RR_SHARED_PTR<com::robotraconteur::testing::TestService1::testroot > get_obj();

RR_SHARED_PTR<com::robotraconteur::testing::TestService1::async_testroot > get_asyncobj();

protected:
static void rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, double value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d4(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d5(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d6(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_s1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, float value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_s2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i8_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, int8_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i8_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u8_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, uint8_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u8_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u8_3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i16_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, int16_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i16_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u16_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, uint16_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u16_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i32_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, int32_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i32_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i32_huge(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u32_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, uint32_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u32_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i64_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, int64_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i64_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u64_1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, uint64_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_u64_2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_str1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_struct1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<teststruct1 > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_struct2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<teststruct2 > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d4(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d5(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_d6(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_str1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_str2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_struct1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_is_struct2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_struct3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_list_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_list_d3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_list_d5(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_list_str1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_list_struct1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_num(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_str(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_struct(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_vector(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_dictionary(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_list(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_var_multidimarray(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_errtest(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, double value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_nulltest(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, RR_INTRUSIVE_PTR<teststruct1 > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_func1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, double ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_meaning_of_life(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, int32_t ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func_errtest(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func_errtest1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func_errtest2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_func_errtest3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_o6_op(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_pipe_check_error(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
static void rr_test_callbacks(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::testroot_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
 public:
void rr_ev1_Handler();
void rr_ev2_Handler(double d1, RR_INTRUSIVE_PTR<teststruct2 > s2);
protected:boost::signals2::connection ev1_rrconnection;
boost::signals2::connection ev2_rrconnection;
bool rr_InitPipeServersRun;
bool rr_InitWireServersRun;
RR_SHARED_PTR<RobotRaconteur::PipeServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > rr_p1_pipe;
RR_SHARED_PTR<RobotRaconteur::PipeServer<RR_INTRUSIVE_PTR<teststruct2 > > > rr_p2_pipe;
RR_SHARED_PTR<RobotRaconteur::PipeServer<double > > rr_broadcastpipe_pipe;
RR_SHARED_PTR<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > rr_w1_wire;
RR_SHARED_PTR<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<teststruct2 > > > rr_w2_wire;
RR_SHARED_PTR<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > rr_w3_wire;
RR_SHARED_PTR<RobotRaconteur::WireServer<double > > rr_broadcastwire_wire;
public: 
void rr_cb1_callback(uint32_t rrendpoint);
void rr_cb2_callback(uint32_t rrendpoint, double d1, double d2);
double rr_cb3_callback(uint32_t rrendpoint, double d1, double d2);
int32_t rr_cb_meaning_of_life_callback(uint32_t rrendpoint);
void rr_cb_errtest_callback(uint32_t rrendpoint);
private:
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryServiceSkel<double > > rr_m1_mem;
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryServiceSkel<double > > rr_m2_mem;
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryServiceSkel<uint8_t > > rr_m3_mem;

};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub1_skel : public virtual RobotRaconteur::ServiceSkel
{
public:
RR_OVIRTUAL void Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL void ReleaseCastObject() RR_OVERRIDE;

RR_OVIRTUAL void RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject> GetSubObj(boost::string_ref, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL void InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<void> GetCallbackFunction(uint32_t endpoint, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e) RR_OVERRIDE;

RR_OVIRTUAL bool IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL std::string GetObjectType() RR_OVERRIDE;
RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub1 > get_obj();

RR_SHARED_PTR<com::robotraconteur::testing::TestService1::async_sub1 > get_asyncobj();

protected:
static void rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub1_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_d2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub1_skel> skel, RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_s_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub1_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub1_skel> skel, int32_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
 public:
protected:bool rr_InitPipeServersRun;
bool rr_InitWireServersRun;
public: 
private:

};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub2_skel : public virtual RobotRaconteur::ServiceSkel
{
public:
RR_OVIRTUAL void Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL void ReleaseCastObject() RR_OVERRIDE;

RR_OVIRTUAL void RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject> GetSubObj(boost::string_ref, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL void InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<void> GetCallbackFunction(uint32_t endpoint, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e) RR_OVERRIDE;

RR_OVIRTUAL bool IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL std::string GetObjectType() RR_OVERRIDE;
RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub2 > get_obj();

RR_SHARED_PTR<com::robotraconteur::testing::TestService1::async_sub2 > get_asyncobj();

protected:
static void rr_get_s_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub2_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_i_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub2_skel> skel, int32_t value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_data(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub2_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
 public:
protected:bool rr_InitPipeServersRun;
bool rr_InitWireServersRun;
public: 
private:

};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub3_skel : public virtual RobotRaconteur::ServiceSkel
{
public:
RR_OVIRTUAL void Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context) RR_OVERRIDE;
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL void ReleaseCastObject() RR_OVERRIDE;

RR_OVIRTUAL void RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject> GetSubObj(boost::string_ref, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL void InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1) RR_OVERRIDE;

RR_OVIRTUAL void DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL void InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<void> GetCallbackFunction(uint32_t endpoint, boost::string_ref) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e) RR_OVERRIDE;

RR_OVIRTUAL bool IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m) RR_OVERRIDE;

RR_OVIRTUAL std::string GetObjectType() RR_OVERRIDE;
RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub3 > get_obj();

RR_SHARED_PTR<com::robotraconteur::testing::TestService1::async_sub3 > get_asyncobj();

protected:
static void rr_get_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub3_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_data2(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub3_skel> skel, std::string value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_get_data3(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub3_skel> skel, double value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep);
static void rr_add(RR_WEAK_PTR<com::robotraconteur::testing::TestService1::sub3_skel> skel, double ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep);
 public:
protected:bool rr_InitPipeServersRun;
bool rr_InitWireServersRun;
public: 
private:

};


class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT testroot_default_impl : public virtual testroot, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
double rrvar_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d4;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d6;
float rrvar_s1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > rrvar_s2;
int8_t rrvar_i8_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > rrvar_i8_2;
uint8_t rrvar_u8_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > rrvar_u8_2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > rrvar_u8_3;
int16_t rrvar_i16_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > rrvar_i16_2;
uint16_t rrvar_u16_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > rrvar_u16_2;
int32_t rrvar_i32_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > rrvar_i32_2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > rrvar_i32_huge;
uint32_t rrvar_u32_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > rrvar_u32_2;
int64_t rrvar_i64_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > rrvar_i64_2;
uint64_t rrvar_u64_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > rrvar_u64_2;
std::string rrvar_str1;
RR_INTRUSIVE_PTR<teststruct1 > rrvar_struct1;
RR_INTRUSIVE_PTR<teststruct2 > rrvar_struct2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rrvar_is_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > rrvar_is_d2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rrvar_is_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > rrvar_is_d4;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > rrvar_is_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > rrvar_is_d6;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > rrvar_is_str1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > rrvar_is_str2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > rrvar_is_struct1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > rrvar_is_struct2;
RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > rrvar_struct3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rrvar_list_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rrvar_list_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > rrvar_list_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > rrvar_list_str1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > rrvar_list_struct1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > rrvar_var2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_num;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_str;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_struct;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_vector;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_dictionary;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_list;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_multidimarray;
double rrvar_errtest;
RR_INTRUSIVE_PTR<teststruct1 > rrvar_nulltest;
boost::signals2::signal<void ()> rrvar_ev1;
boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)> rrvar_ev2;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > rrvar_cb1;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void(double, double) > > > rrvar_cb2;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double) > > > rrvar_cb3;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t() > > > rrvar_cb_meaning_of_life;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > rrvar_cb_errtest;

public:
testroot_default_impl();
RR_OVIRTUAL double get_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_d1(double value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL float get_s1() RR_OVERRIDE;
RR_OVIRTUAL void set_s1(float value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > get_s2() RR_OVERRIDE;
RR_OVIRTUAL void set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& value) RR_OVERRIDE;

RR_OVIRTUAL int8_t get_i8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_1(int8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > get_i8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint8_t get_u8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_1(uint8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > get_u8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > get_u8_3() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int16_t get_i16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_1(int16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > get_i16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint16_t get_u16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_1(uint16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > get_u16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_1(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_huge() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint32_t get_u32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_1(uint32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > get_u32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int64_t get_i64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_1(int64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > get_i64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint64_t get_u64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_1(uint64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > get_u64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_str1(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_struct1(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct2 > get_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_struct2(const RR_INTRUSIVE_PTR<teststruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > get_is_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > get_is_str2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > get_is_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > get_is_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > get_struct3() RR_OVERRIDE;
RR_OVIRTUAL void set_struct3(const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > get_list_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > get_list_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > get_list_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var1() RR_OVERRIDE;
RR_OVIRTUAL void set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > get_var2() RR_OVERRIDE;
RR_OVIRTUAL void set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_num() RR_OVERRIDE;
RR_OVIRTUAL void set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_str() RR_OVERRIDE;
RR_OVIRTUAL void set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_struct() RR_OVERRIDE;
RR_OVIRTUAL void set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_vector() RR_OVERRIDE;
RR_OVIRTUAL void set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_dictionary() RR_OVERRIDE;
RR_OVIRTUAL void set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_list() RR_OVERRIDE;
RR_OVIRTUAL void set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_multidimarray() RR_OVERRIDE;
RR_OVIRTUAL void set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL double get_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_errtest(double value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_nulltest() RR_OVERRIDE;
RR_OVIRTUAL void set_nulltest(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL void func1() RR_OVERRIDE;

RR_OVIRTUAL void func2(double d1, double d2) RR_OVERRIDE;

RR_OVIRTUAL double func3(double d1, double d2) RR_OVERRIDE;

RR_OVIRTUAL int32_t meaning_of_life() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest1() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest2() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest3() RR_OVERRIDE;

RR_OVIRTUAL void o6_op(int32_t op) RR_OVERRIDE;

RR_OVIRTUAL void pipe_check_error() RR_OVERRIDE;

RR_OVIRTUAL void test_callbacks() RR_OVERRIDE;

RR_OVIRTUAL boost::signals2::signal<void ()>& get_ev1() RR_OVERRIDE;

RR_OVIRTUAL boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)>& get_ev2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o3(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o4(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<com::robotraconteur::testing::TestService2::subobj > get_o5() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject > get_o6() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > get_p1() RR_OVERRIDE;
RR_OVIRTUAL void set_p1(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > > get_p2() RR_OVERRIDE;
RR_OVIRTUAL void set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<double > > get_broadcastpipe() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastpipe(const RR_SHARED_PTR<RobotRaconteur::Pipe<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb1() RR_OVERRIDE;
RR_OVIRTUAL void set_cb1(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void(double, double) > > > get_cb2() RR_OVERRIDE;
RR_OVIRTUAL void set_cb2(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void(double, double)> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double) > > > get_cb3() RR_OVERRIDE;
RR_OVIRTUAL void set_cb3(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double)> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t() > > > get_cb_meaning_of_life() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_meaning_of_life(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_errtest(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > > get_w1() RR_OVERRIDE;
RR_OVIRTUAL void set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > > get_w2() RR_OVERRIDE;
RR_OVIRTUAL void set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > get_w3() RR_OVERRIDE;
RR_OVIRTUAL void set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<double > > get_broadcastwire() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastwire(const RR_SHARED_PTR<RobotRaconteur::Wire<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::ArrayMemory<double > > get_m1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<double > > get_m2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<uint8_t > > get_m3() RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.testroot";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub1_default_impl : public virtual sub1, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d2;
std::string rrvar_s_ind;
int32_t rrvar_i_ind;

public:
sub1_default_impl();
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_3(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub1";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub2_default_impl : public virtual sub2, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
std::string rrvar_s_ind;
int32_t rrvar_i_ind;
std::string rrvar_data;

public:
sub2_default_impl();
RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data() RR_OVERRIDE;
RR_OVIRTUAL void set_data(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub3 > get_o3_1(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub2";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub3_default_impl : public virtual sub3, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
std::string rrvar_ind;
std::string rrvar_data2;
double rrvar_data3;

public:
sub3_default_impl();
RR_OVIRTUAL std::string get_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data2() RR_OVERRIDE;
RR_OVIRTUAL void set_data2(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL double get_data3() RR_OVERRIDE;
RR_OVIRTUAL void set_data3(double value) RR_OVERRIDE;

RR_OVIRTUAL double add(double d) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub3";  }
};


class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT testroot_default_abstract_impl : public virtual testroot, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d4;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d6;
float rrvar_s1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > rrvar_s2;
int8_t rrvar_i8_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > rrvar_i8_2;
uint8_t rrvar_u8_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > rrvar_u8_2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > rrvar_u8_3;
int16_t rrvar_i16_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > rrvar_i16_2;
uint16_t rrvar_u16_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > rrvar_u16_2;
int32_t rrvar_i32_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > rrvar_i32_2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > rrvar_i32_huge;
uint32_t rrvar_u32_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > rrvar_u32_2;
int64_t rrvar_i64_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > rrvar_i64_2;
uint64_t rrvar_u64_1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > rrvar_u64_2;
std::string rrvar_str1;
RR_INTRUSIVE_PTR<teststruct1 > rrvar_struct1;
RR_INTRUSIVE_PTR<teststruct2 > rrvar_struct2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rrvar_is_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > rrvar_is_d2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rrvar_is_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > rrvar_is_d4;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > rrvar_is_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > rrvar_is_d6;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > rrvar_is_str1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > rrvar_is_str2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > rrvar_is_struct1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > rrvar_is_struct2;
RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > rrvar_struct3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rrvar_list_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rrvar_list_d3;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > rrvar_list_d5;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > rrvar_list_str1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > rrvar_list_struct1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > rrvar_var2;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_num;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_str;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_struct;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_vector;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_dictionary;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_list;
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> rrvar_var_multidimarray;
double rrvar_errtest;
RR_INTRUSIVE_PTR<teststruct1 > rrvar_nulltest;
boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)> rrvar_ev2;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > rrvar_cb1;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double) > > > rrvar_cb3;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t() > > > rrvar_cb_meaning_of_life;
RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > rrvar_cb_errtest;

public:
testroot_default_abstract_impl();
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL float get_s1() RR_OVERRIDE;
RR_OVIRTUAL void set_s1(float value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > > get_s2() RR_OVERRIDE;
RR_OVIRTUAL void set_s2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<float > >& value) RR_OVERRIDE;

RR_OVIRTUAL int8_t get_i8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_1(int8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > > get_i8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint8_t get_u8_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_1(uint8_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > get_u8_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > > get_u8_3() RR_OVERRIDE;
RR_OVIRTUAL void set_u8_3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<uint8_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int16_t get_i16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_1(int16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > > get_i16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint16_t get_u16_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_1(uint16_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > > get_u16_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u16_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint16_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_1(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > get_i32_huge() RR_OVERRIDE;
RR_OVIRTUAL void set_i32_huge(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint32_t get_u32_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_1(uint32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > > get_u32_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u32_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint32_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL int64_t get_i64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_1(int64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > > get_i64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_i64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL uint64_t get_u64_1() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_1(uint64_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > > get_u64_2() RR_OVERRIDE;
RR_OVIRTUAL void set_u64_2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint64_t > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_str1(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_struct1(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct2 > get_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_struct2(const RR_INTRUSIVE_PTR<teststruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > get_is_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > > get_is_d4() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > > get_is_d6() RR_OVERRIDE;
RR_OVIRTUAL void set_is_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > > get_is_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > > get_is_str2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_str2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > > get_is_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > > get_is_struct2() RR_OVERRIDE;
RR_OVIRTUAL void set_is_struct2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<std::string,teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 > get_struct3() RR_OVERRIDE;
RR_OVIRTUAL void set_struct3(const RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService2::ostruct2 >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > get_list_d3() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > get_list_d5() RR_OVERRIDE;
RR_OVIRTUAL void set_list_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > > get_list_str1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_str1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<char>  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > > get_list_struct1() RR_OVERRIDE;
RR_OVIRTUAL void set_list_struct1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<teststruct2  > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var1() RR_OVERRIDE;
RR_OVIRTUAL void set_var1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > > get_var2() RR_OVERRIDE;
RR_OVIRTUAL void set_var2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRValue > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_num() RR_OVERRIDE;
RR_OVIRTUAL void set_var_num(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_str() RR_OVERRIDE;
RR_OVIRTUAL void set_var_str(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_struct() RR_OVERRIDE;
RR_OVIRTUAL void set_var_struct(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_vector() RR_OVERRIDE;
RR_OVIRTUAL void set_var_vector(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_dictionary() RR_OVERRIDE;
RR_OVIRTUAL void set_var_dictionary(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_list() RR_OVERRIDE;
RR_OVIRTUAL void set_var_list(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> get_var_multidimarray() RR_OVERRIDE;
RR_OVIRTUAL void set_var_multidimarray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value) RR_OVERRIDE;

RR_OVIRTUAL double get_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_errtest(double value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<teststruct1 > get_nulltest() RR_OVERRIDE;
RR_OVIRTUAL void set_nulltest(const RR_INTRUSIVE_PTR<teststruct1 >& value) RR_OVERRIDE;

RR_OVIRTUAL void func1() RR_OVERRIDE;

RR_OVIRTUAL void func2(double d1, double d2) RR_OVERRIDE;

RR_OVIRTUAL int32_t meaning_of_life() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest1() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest2() RR_OVERRIDE;

RR_OVIRTUAL void func_errtest3() RR_OVERRIDE;

RR_OVIRTUAL void o6_op(int32_t op) RR_OVERRIDE;

RR_OVIRTUAL void pipe_check_error() RR_OVERRIDE;

RR_OVIRTUAL void test_callbacks() RR_OVERRIDE;

RR_OVIRTUAL boost::signals2::signal<void (double, RR_INTRUSIVE_PTR<teststruct2 >)>& get_ev2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o3(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub1 > get_o4(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::RRObject > get_o6() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > > get_p2() RR_OVERRIDE;
RR_OVIRTUAL void set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Pipe<double > > get_broadcastpipe() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastpipe(const RR_SHARED_PTR<RobotRaconteur::Pipe<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb1() RR_OVERRIDE;
RR_OVIRTUAL void set_cb1(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double) > > > get_cb3() RR_OVERRIDE;
RR_OVIRTUAL void set_cb3(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<double(double, double)> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t() > > > get_cb_meaning_of_life() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_meaning_of_life(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<int32_t()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void() > > > get_cb_errtest() RR_OVERRIDE;
RR_OVIRTUAL void set_cb_errtest(const RR_SHARED_PTR<RobotRaconteur::Callback<boost::function<void()> > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > > get_w2() RR_OVERRIDE;
RR_OVIRTUAL void set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<teststruct2 > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > get_w3() RR_OVERRIDE;
RR_OVIRTUAL void set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::Wire<double > > get_broadcastwire() RR_OVERRIDE;
RR_OVIRTUAL void set_broadcastwire(const RR_SHARED_PTR<RobotRaconteur::Wire<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<double > > get_m2() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<uint8_t > > get_m3() RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.testroot";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub1_default_abstract_impl : public virtual sub1, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rrvar_d1;
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > rrvar_d2;
std::string rrvar_s_ind;
int32_t rrvar_i_ind;

public:
sub1_default_abstract_impl();
RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > get_d1() RR_OVERRIDE;
RR_OVIRTUAL void set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > > get_d2() RR_OVERRIDE;
RR_OVIRTUAL void set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<double > >& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_1() RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_2(int32_t ind) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub2 > get_o2_3(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub1";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub2_default_abstract_impl : public virtual sub2, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
std::string rrvar_s_ind;
int32_t rrvar_i_ind;
std::string rrvar_data;

public:
sub2_default_abstract_impl();
RR_OVIRTUAL std::string get_s_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_s_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL int32_t get_i_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_i_ind(int32_t value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data() RR_OVERRIDE;
RR_OVIRTUAL void set_data(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL RR_SHARED_PTR<sub3 > get_o3_1(const std::string& ind) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub2";  }
};

class ROBOTRACONTEUR_ROBDEF_THUNK____com__robotraconteur__testing__TestService1____EXPORT sub3_default_abstract_impl : public virtual sub3, public virtual RobotRaconteur::RRObject_default_impl
{
protected:
std::string rrvar_ind;
std::string rrvar_data2;
double rrvar_data3;

public:
sub3_default_abstract_impl();
RR_OVIRTUAL std::string get_ind() RR_OVERRIDE;
RR_OVIRTUAL void set_ind(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL std::string get_data2() RR_OVERRIDE;
RR_OVIRTUAL void set_data2(const std::string& value) RR_OVERRIDE;

RR_OVIRTUAL double get_data3() RR_OVERRIDE;
RR_OVIRTUAL void set_data3(double value) RR_OVERRIDE;

RR_OVIRTUAL double add(double d) RR_OVERRIDE;

RR_OVIRTUAL std::string RRType() RR_OVERRIDE {return "com.robotraconteur.testing.TestService1.sub3";  }
};


}
}
}
}

// NOLINTEND

