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

#ifndef ROBOTRACONTEUR_USE_STDAFX
#include "com__robotraconteur__testing__TestService3_stubskel.h"
#include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/assign/list_of.hpp>
#else
#include "stdafx.h"
#endif
// NOLINTBEGIN
namespace com
{
namespace robotraconteur
{
namespace testing
{
namespace TestService3
{
std::string com__robotraconteur__testing__TestService3Factory::GetServiceName()
{
return "com.robotraconteur.testing.TestService3";
}
std::string com__robotraconteur__testing__TestService3Factory::DefString()
{
std::string out(
"service com.robotraconteur.testing.TestService3\n"
"\n"
"stdver 0.9.2\n"
"#option version 0.9.0\n"
"\n"
"import com.robotraconteur.testing.TestService1\n"
"using  com.robotraconteur.testing.TestService1.testroot\n"
"using  com.robotraconteur.testing.TestService1.teststruct1\n"
"using  com.robotraconteur.testing.TestService1.teststruct2\n"
"using  com.robotraconteur.testing.TestService1.testexception1\n"
"using  com.robotraconteur.testing.TestService1.sub2\n"
"using  com.robotraconteur.testing.TestService1.sub3\n"
"\n"
"enum testenum1\n"
"	value1 = 0,	value2,	value3,	anothervalue = -1,\n"
"	anothervalue2 = -2,\n"
"	anothervalue3 = -3,\n"
"	hexval1 = 0x10,\n"
"	hexval2,\n"
"	neghexval1 = -0x7ffffffb,\n"
"	neghexval2,\n"
"	more_values\n"
"end\n"
"\n"
"constant string strconst \"This is a\\n \\\"string constant\\\" \\\\\\/\\b\\f \\r\\u00FF tabme\\ttabme\\n smile! \\ud83d\\udE01\"\n"
"constant int32 int32const 3856384\n"
"constant int32[] int32const_array {182476, 56483, -2947}\n"
"constant int32 int32hexconst 0x082bc7\n"
"constant int32 int32hexconst2 -0x7264c17\n"
"constant int32[] int32hexconst_array { 0x8274ec, -0x0001, +0xABCDEF, 0xabcdef, 0x012345, 0x6789 }\n"
"constant double[] doubleconst_array {1.5847, 3.14, -548e3, 3452.67e2, 485e-21}\n"
"constant struct structconst {field1: strconst, field2: int32const_array}\n"
"constant struct structconst2 {field3: structconst, field4: int32const}\n"
"\n"
"exception test_exception4\n"
"\n"
"namedarray vector3\n"
"    field double x\n"
"	field double y\n"
"	field double z\n"
"end\n"
"\n"
"namedarray quaternion\n"
"    field double q0\n"
"	field double q1\n"
"	field double q2\n"
"	field double q3\n"
"end\n"
"\n"
"namedarray transform\n"
"    field quaternion rotation\n"
"    field vector3 translation\n"
"end\n"
"\n"
"namedarray pixel\n"
"	field uint8 r\n"
"	field uint8 b\n"
"	field uint8 g\n"
"end\n"
"\n"
"namedarray pixel2\n"
"	field uint8 c\n"
"	field pixel d\n"
"	field pixel e\n"
"	field pixel[7] f\n"
"	field pixel g\n"
"end\n"
"\n"
"pod testpod1\n"
"	field double d1\n"
"	field double[6] d2\n"
"	field double[6-] d3\n"
"	field double[3,3] d4\n"
"	field testpod2 s1\n"
"	field testpod2[8] s2\n"
"	field testpod2[9-] s3\n"
"	field testpod2[2,4] s4\n"
"	field transform t1\n"
"	field transform[4] t2\n"
"	field transform[15-] t3\n"
"	field transform[2,4] t4\n"
"end\n"
"\n"
"pod testpod2\n"
"	field int8 i1\n"
"	field int8[15] i2\n"
"	field int8[17-] i3\n"
"end\n"
"\n"
"struct teststruct3\n"
"	field testpod1 s1\n"
"	field testpod1[] s2\n"
"	field testpod1[11] s3\n"
"	field testpod1[16-] s4\n"
"	field testpod1[3,3] s5\n"
"	field testpod1[*] s6\n"
"	field testpod1{list} s7\n"
"	field testpod1[]{list} s8\n"
"	field testpod1[*]{list} s9\n"
"	field varvalue s10\n"
"	field varvalue s11\n"
"	field varvalue s12\n"
"	field varvalue s13\n"
"	field varvalue s14\n"
"	field varvalue s15\n"
"	field transform t1\n"
"	field transform[4] t2\n"
"	field transform[2,4] t3\n"
"	field varvalue t4\n"
"	field varvalue t5\n"
"	field transform{list} t6\n"
"	field transform[4]{list} t7\n"
"	field transform[2,4]{list} t8\n"
"	field varvalue t9\n"
"	field varvalue t10\n"
"	field varvalue t11\n"
"\n"
"end\n"
"\n"
"object testroot3\n"
"\n"
"    constant string unknown_modifier_hello \"hello world!\"\n"
"\n"
"    property int32 readme [readonly]\n"
"	property int32 writeme [writeonly]\n"
"\n"
"	pipe int32 unreliable1 [unreliable,readonly]\n"
"\n"
"    wire int32 peekwire [readonly]\n"
"    wire int32 \\\n"
"	pokewire [writeonly]\n"
"	property int32 unknown_modifier [unknown, unknown_3(23, 45.8e-5, unknown_modifier_hello)]\n"
"\n"
"	memory double[] readmem [readonly]\n"
"\n"
"	objref obj4 o4\n"
"\n"
"	property testenum1 testenum1_prop\n"
"\n"
"	property testpod1 testpod1_prop\n"
"	function void testpod1_func1(testpod1 s)\n"
"	function testpod1 testpod1_func2()\n"
"\n"
"	property teststruct3 teststruct3_prop\n"
"\n"
"	memory testpod2[] pod_m1\n"
"	memory testpod2[*] pod_m2\n"
"\n"
"	function double{generator} gen_func1()\n"
"	function uint8[]{generator} gen_func2(string name)\n"
"	function void gen_func3(string name, uint8[]{generator} in)\n"
"	function uint8[]{generator} gen_func4(uint8[]{generator} in)\n"
"	function teststruct2{generator} gen_func5(teststruct2{generator} in)\n"
"\n"
"	#extra tests for fixed length arrays\n"
"	property double[6]{list} d1\n"
"	property double[6-]{list} d2\n"
"	property double[6]{int32} d3\n"
"	property double[6-]{int32} d4\n"
"	property double[3,3]{list} d5\n"
"	property double[3,3]{int32} d6\n"
"\n"
"	#Test pipe and wire verification\n"
"	pipe int32[3] p1\n"
"	pipe int32[3-] p2\n"
"	pipe int32[2,2] p3\n"
"	wire int32[6] w1\n"
"	wire int32[6-] w2\n"
"	wire int32[3,2] w3\n"
"\n"
"	#namedarray test\n"
"	property vector3 testnamedarray1\n"
"	property transform testnamedarray2\n"
"	property transform[10-] testnamedarray3\n"
"	property transform[*] testnamedarray4\n"
"	property transform[3,2] testnamedarray5\n"
"\n"
"	memory transform[] namedarray_m1\n"
"	memory transform[*] namedarray_m2\n"
"\n"
"	#new primitive types test\n"
"	property cdouble c1\n"
"	property cdouble[] c2\n"
"	property cdouble[*] c3\n"
"	property cdouble{list} c4\n"
"	property cdouble[]{list} c5\n"
"	property cdouble[*]{list} c6\n"
"	property csingle c7\n"
"	property csingle[] c8\n"
"	property csingle[*] c9\n"
"	property csingle{list} c10\n"
"	property csingle[]{list} c11\n"
"	property csingle[*]{list} c12\n"
"\n"
"	property bool b1\n"
"	property bool[] b2\n"
"	property bool[*] b3\n"
"	property bool{list} b4\n"
"	property bool[]{list} b5\n"
"	property bool[*]{list} b6\n"
"\n"
"	memory cdouble[] c_m1\n"
"	memory cdouble[*] c_m2\n"
"	memory cdouble[] c_m3\n"
"	memory cdouble[*] c_m4\n"
"	memory bool[] c_m5\n"
"	memory bool[*] c_m6\n"
"\n"
"	objref obj5 nolock_test\n"
"\n"
"	function void test_exception_params1()\n"
"	function void test_exception_params2()\n"
"\n"
"	function testenum1{generator} enum_generator1()\n"
"	function testenum1{generator} enum_generator2(int32 a, int32 b, testenum1{generator} enum_gen)\n"
"\n"
"end\n"
"\n"
"object obj1\n"
"    property double[] d1\n"
"end\n"
"\n"
"object obj2\n"
"    implements obj1\n"
"    property double[] d1\n"
"end\n"
"\n"
"object obj3\n"
"    implements obj1\n"
"    implements obj2\n"
"	property double[] d1\n"
"end\n"
"\n"
"object obj4\n"
"    implements sub2\n"
"	property string s_ind\n"
"	property int32 i_ind\n"
"\n"
"	property string data\n"
"	objref sub3{string} o3_1\n"
"end\n"
"\n"
"object obj5\n"
"\n"
"	property double p1\n"
"	property double p2 [nolock]\n"
"	property double p3 [nolockread]\n"
"\n"
"	function int32 f1()\n"
"	function int32 f2() [nolock]\n"
"\n"
"	pipe int32 q1 [readonly]\n"
"	pipe int32 q2 [readonly,nolock]\n"
"\n"
"	wire int32 w1 [readonly]\n"
"	wire int32 w2 [readonly,nolock]\n"
"\n"
"	memory int32[] m1\n"
"	memory int32[] m2 [nolock]\n"
"	memory int32[] m3 [nolockread]\n"
"\n"
"end\n"
"\n"
);
return out;
}
RR_SHARED_PTR<RobotRaconteur::StructureStub> com__robotraconteur__testing__TestService3Factory::FindStructureStub(boost::string_ref s)
{
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(s);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (objecttype=="teststruct3") return RobotRaconteur::rr_cast<RobotRaconteur::StructureStub>(RR_MAKE_SHARED<teststruct3_stub>(GetNode()));
throw RobotRaconteur::ServiceException("Invalid structure stub type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> com__robotraconteur__testing__TestService3Factory::PackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::RRStructure>& structin)
{
std::string type=structin->RRType();boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->PackStructure(structin);
RR_SHARED_PTR<RobotRaconteur::StructureStub> stub=FindStructureStub(type);
return stub->PackStructure(structin);
throw RobotRaconteur::ServiceException("Invalid structure stub type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRValue> com__robotraconteur__testing__TestService3Factory::UnpackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin)
{
RobotRaconteur::MessageStringPtr type=mstructin->GetTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type.str());
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->UnpackStructure(mstructin);
RR_SHARED_PTR<RobotRaconteur::StructureStub> stub=FindStructureStub(type.str());
return stub->UnpackStructure(mstructin);
throw RobotRaconteur::ServiceException("Invalid structure stub type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> com__robotraconteur__testing__TestService3Factory::PackPodArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseArray>& structin)
{
boost::string_ref type=structin->RRElementTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->PackPodArray(structin);
if (objecttype=="testpod1") return RobotRaconteur::PodStub_PackPodArray(RobotRaconteur::rr_cast<RobotRaconteur::RRPodArray<testpod1> >(structin));
if (objecttype=="testpod2") return RobotRaconteur::PodStub_PackPodArray(RobotRaconteur::rr_cast<RobotRaconteur::RRPodArray<testpod2> >(structin));
throw RobotRaconteur::ServiceException("Invalid pod type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseArray> com__robotraconteur__testing__TestService3Factory::UnpackPodArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin)
{
RobotRaconteur::MessageStringPtr type=mstructin->GetTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type.str());
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->UnpackPodArray(mstructin);
if (objecttype=="testpod1") return RobotRaconteur::PodStub_UnpackPodArray<testpod1>(mstructin);
if (objecttype=="testpod2") return RobotRaconteur::PodStub_UnpackPodArray<testpod2>(mstructin);
throw RobotRaconteur::ServiceException("Invalid pod type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> com__robotraconteur__testing__TestService3Factory::PackPodMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseMultiDimArray>& structin)
{
boost::string_ref type=structin->RRElementTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->PackPodMultiDimArray(structin);
if (objecttype=="testpod1") return RobotRaconteur::PodStub_PackPodMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRPodMultiDimArray<testpod1> >(structin));
if (objecttype=="testpod2") return RobotRaconteur::PodStub_PackPodMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRPodMultiDimArray<testpod2> >(structin));
throw RobotRaconteur::ServiceException("Invalid pod type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRPodBaseMultiDimArray> com__robotraconteur__testing__TestService3Factory::UnpackPodMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin)
{
RobotRaconteur::MessageStringPtr type=mstructin->GetTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type.str());
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->UnpackPodMultiDimArray(mstructin);
if (objecttype=="testpod1") return RobotRaconteur::PodStub_UnpackPodMultiDimArray<testpod1>(mstructin);
if (objecttype=="testpod2") return RobotRaconteur::PodStub_UnpackPodMultiDimArray<testpod2>(mstructin);
throw RobotRaconteur::ServiceException("Invalid pod type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> com__robotraconteur__testing__TestService3Factory::PackNamedArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseArray>& structin)
{
boost::string_ref type=structin->RRElementTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->PackNamedArray(structin);
if (objecttype=="vector3") return RobotRaconteur::NamedArrayStub_PackNamedArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedArray<vector3> >(structin));
if (objecttype=="quaternion") return RobotRaconteur::NamedArrayStub_PackNamedArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedArray<quaternion> >(structin));
if (objecttype=="transform") return RobotRaconteur::NamedArrayStub_PackNamedArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedArray<transform> >(structin));
if (objecttype=="pixel") return RobotRaconteur::NamedArrayStub_PackNamedArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedArray<pixel> >(structin));
if (objecttype=="pixel2") return RobotRaconteur::NamedArrayStub_PackNamedArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedArray<pixel2> >(structin));
throw RobotRaconteur::ServiceException("Invalid namedarray type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseArray> com__robotraconteur__testing__TestService3Factory::UnpackNamedArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin)
{
RobotRaconteur::MessageStringPtr type=mstructin->GetTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type.str());
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->UnpackNamedArray(mstructin);
if (objecttype=="vector3") return RobotRaconteur::NamedArrayStub_UnpackNamedArray<vector3>(mstructin);
if (objecttype=="quaternion") return RobotRaconteur::NamedArrayStub_UnpackNamedArray<quaternion>(mstructin);
if (objecttype=="transform") return RobotRaconteur::NamedArrayStub_UnpackNamedArray<transform>(mstructin);
if (objecttype=="pixel") return RobotRaconteur::NamedArrayStub_UnpackNamedArray<pixel>(mstructin);
if (objecttype=="pixel2") return RobotRaconteur::NamedArrayStub_UnpackNamedArray<pixel2>(mstructin);
throw RobotRaconteur::ServiceException("Invalid namedarray type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> com__robotraconteur__testing__TestService3Factory::PackNamedMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseMultiDimArray>& structin)
{
boost::string_ref type=structin->RRElementTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->PackNamedMultiDimArray(structin);
if (objecttype=="vector3") return RobotRaconteur::NamedArrayStub_PackNamedMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedMultiDimArray<vector3> >(structin));
if (objecttype=="quaternion") return RobotRaconteur::NamedArrayStub_PackNamedMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedMultiDimArray<quaternion> >(structin));
if (objecttype=="transform") return RobotRaconteur::NamedArrayStub_PackNamedMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedMultiDimArray<transform> >(structin));
if (objecttype=="pixel") return RobotRaconteur::NamedArrayStub_PackNamedMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedMultiDimArray<pixel> >(structin));
if (objecttype=="pixel2") return RobotRaconteur::NamedArrayStub_PackNamedMultiDimArray(RobotRaconteur::rr_cast<RobotRaconteur::RRNamedMultiDimArray<pixel2> >(structin));
throw RobotRaconteur::ServiceException("Invalid namedarray type.");
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedBaseMultiDimArray> com__robotraconteur__testing__TestService3Factory::UnpackNamedMultiDimArray(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& mstructin)
{
RobotRaconteur::MessageStringPtr type=mstructin->GetTypeString();
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type.str());
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->UnpackNamedMultiDimArray(mstructin);
if (objecttype=="vector3") return RobotRaconteur::NamedArrayStub_UnpackNamedMultiDimArray<vector3>(mstructin);
if (objecttype=="quaternion") return RobotRaconteur::NamedArrayStub_UnpackNamedMultiDimArray<quaternion>(mstructin);
if (objecttype=="transform") return RobotRaconteur::NamedArrayStub_UnpackNamedMultiDimArray<transform>(mstructin);
if (objecttype=="pixel") return RobotRaconteur::NamedArrayStub_UnpackNamedMultiDimArray<pixel>(mstructin);
if (objecttype=="pixel2") return RobotRaconteur::NamedArrayStub_UnpackNamedMultiDimArray<pixel2>(mstructin);
throw RobotRaconteur::ServiceException("Invalid namedarray type.");
}
RR_SHARED_PTR<RobotRaconteur::ServiceStub> com__robotraconteur__testing__TestService3Factory::CreateStub(boost::string_ref type, boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& context)
{
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->GetServiceType(servicetype)->CreateStub(type,path,context);
if (objecttype=="testroot3") { RR_SHARED_PTR<testroot3_stub> o=(RR_MAKE_SHARED<testroot3_stub>(path,context)); o->RRInitStub(); return o; }
if (objecttype=="obj1") { RR_SHARED_PTR<obj1_stub> o=(RR_MAKE_SHARED<obj1_stub>(path,context)); o->RRInitStub(); return o; }
if (objecttype=="obj2") { RR_SHARED_PTR<obj2_stub> o=(RR_MAKE_SHARED<obj2_stub>(path,context)); o->RRInitStub(); return o; }
if (objecttype=="obj3") { RR_SHARED_PTR<obj3_stub> o=(RR_MAKE_SHARED<obj3_stub>(path,context)); o->RRInitStub(); return o; }
if (objecttype=="obj4") { RR_SHARED_PTR<obj4_stub> o=(RR_MAKE_SHARED<obj4_stub>(path,context)); o->RRInitStub(); return o; }
if (objecttype=="obj5") { RR_SHARED_PTR<obj5_stub> o=(RR_MAKE_SHARED<obj5_stub>(path,context)); o->RRInitStub(); return o; }
throw RobotRaconteur::ServiceException("Invalid structure stub type.");
}
RR_SHARED_PTR<RobotRaconteur::ServiceSkel> com__robotraconteur__testing__TestService3Factory::CreateSkel(boost::string_ref type, const boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& obj, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
boost::tuple<boost::string_ref,boost::string_ref> res=RobotRaconteur::SplitQualifiedName(type);
boost::string_ref servicetype=res.get<0>();
boost::string_ref objecttype=res.get<1>();
if (servicetype != "com.robotraconteur.testing.TestService3") return GetNode()->GetServiceType(servicetype)->CreateSkel(type,path,obj,context);
if (objecttype=="testroot3") {RR_SHARED_PTR<testroot3_skel> o=RR_MAKE_SHARED<testroot3_skel>(); o->Init(path,obj,context); return o; }
if (objecttype=="obj1") {RR_SHARED_PTR<obj1_skel> o=RR_MAKE_SHARED<obj1_skel>(); o->Init(path,obj,context); return o; }
if (objecttype=="obj2") {RR_SHARED_PTR<obj2_skel> o=RR_MAKE_SHARED<obj2_skel>(); o->Init(path,obj,context); return o; }
if (objecttype=="obj3") {RR_SHARED_PTR<obj3_skel> o=RR_MAKE_SHARED<obj3_skel>(); o->Init(path,obj,context); return o; }
if (objecttype=="obj4") {RR_SHARED_PTR<obj4_skel> o=RR_MAKE_SHARED<obj4_skel>(); o->Init(path,obj,context); return o; }
if (objecttype=="obj5") {RR_SHARED_PTR<obj5_skel> o=RR_MAKE_SHARED<obj5_skel>(); o->Init(path,obj,context); return o; }
throw RobotRaconteur::ServiceException("Invalid structure skel type.");
return RR_SHARED_PTR<RobotRaconteur::ServiceSkel>();
}
void com__robotraconteur__testing__TestService3Factory::DownCastAndThrowException(RobotRaconteur::RobotRaconteurException& rr_exp)
{
std::string rr_type=rr_exp.Error;
if (rr_type.find('.')==std::string::npos)
{
	return;
}
boost::tuple<boost::string_ref,boost::string_ref> rr_res=RobotRaconteur::SplitQualifiedName(rr_type);
if (rr_res.get<0>() != "com.robotraconteur.testing.TestService3") GetNode()->DownCastAndThrowException(rr_exp);
if (rr_res.get<1>()=="test_exception4") throw test_exception4(rr_exp.Message,rr_exp.ErrorSubName,rr_exp.ErrorParam);
return;
}
RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException> com__robotraconteur__testing__TestService3Factory::DownCastException(const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& rr_exp){
if (!rr_exp) return rr_exp;
std::string rr_type=rr_exp->Error;
if (rr_type.find('.')==std::string::npos)
{
	return rr_exp;
}
boost::tuple<boost::string_ref,boost::string_ref> rr_res=RobotRaconteur::SplitQualifiedName(rr_type);
if (rr_res.get<0>() != "com.robotraconteur.testing.TestService3") return GetNode()->DownCastException(rr_exp);
if (rr_res.get<1>()=="test_exception4") return RR_MAKE_SHARED<test_exception4>(rr_exp->Message,rr_exp->ErrorSubName,rr_exp->ErrorParam);
return rr_exp;
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList> teststruct3_stub::PackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& s)
{
RR_INTRUSIVE_PTR<teststruct3 > s2=RobotRaconteur::rr_cast<teststruct3 >(s);
std::vector<RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> > vret;
vret.reserve(26);
vret.push_back(RobotRaconteur::MessageElement_PackPodToArrayElement("s1",s2->s1));
vret.push_back(RobotRaconteur::MessageElement_PackPodArrayElement("s2",s2->s2));
vret.push_back(RobotRaconteur::MessageElement_PackPodArrayElement("s3",RobotRaconteur::VerifyRRArrayLength(s2->s3, 11, false)));
vret.push_back(RobotRaconteur::MessageElement_PackPodArrayElement("s4",RobotRaconteur::VerifyRRArrayLength(s2->s4, 16, true)));
vret.push_back(RobotRaconteur::MessageElement_PackPodMultiDimArrayElement("s5",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(s2->s5,9,boost::assign::list_of(3)(3))));
vret.push_back(RobotRaconteur::MessageElement_PackPodMultiDimArrayElement("s6",s2->s6));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRPodArray<testpod1>  >(RRGetNodeWeak(),"s7",s2->s7));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRPodArray<testpod1>  >(RRGetNodeWeak(),"s8",s2->s8));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRPodMultiDimArray<testpod1>  >(RRGetNodeWeak(),"s9",s2->s9));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s10",s2->s10));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s11",s2->s11));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s12",s2->s12));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s13",s2->s13));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s14",s2->s14));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"s15",s2->s15));
vret.push_back(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("t1",s2->t1));
vret.push_back(RobotRaconteur::MessageElement_PackNamedArrayElement("t2",RobotRaconteur::VerifyRRArrayLength(s2->t2, 4, false)));
vret.push_back(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("t3",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(s2->t3,8,boost::assign::list_of(2)(4))));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"t4",s2->t4));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"t5",s2->t5));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRNamedArray<transform>  >(RRGetNodeWeak(),"t6",s2->t6));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRNamedArray<transform>  >(RRGetNodeWeak(),"t7",RobotRaconteur::VerifyRRArrayLength(s2->t7, 4, false)));
vret.push_back(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRNamedMultiDimArray<transform>  >(RRGetNodeWeak(),"t8",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(s2->t8,8,boost::assign::list_of(2)(4))));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"t9",s2->t9));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"t10",s2->t10));
vret.push_back(RobotRaconteur::MessageElement_PackVarTypeElement(RRGetNodeWeak(),"t11",s2->t11));
return RobotRaconteur::CreateMessageElementNestedElementList(RobotRaconteur::DataTypes_structure_t,"com.robotraconteur.testing.TestService3.teststruct3",RR_MOVE(vret));
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRStructure> teststruct3_stub::UnpackStructure(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageElementNestedElementList>& m)
{
std::vector<RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> >& i = m->Elements;
RR_INTRUSIVE_PTR<teststruct3 > ret(new teststruct3());
ret->s1=RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s1"));
ret->s2=RobotRaconteur::MessageElement_UnpackPodArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s2"));
ret->s3=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackPodArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s3")), 11, false);
ret->s4=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackPodArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s4")), 16, true);
ret->s5=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackPodMultiDimArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s5")),9,boost::assign::list_of(3)(3));
ret->s6=RobotRaconteur::MessageElement_UnpackPodMultiDimArray<testpod1>(RobotRaconteur::MessageElement::FindElement(i,"s6"));
ret->s7=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRPodArray<testpod1>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s7"));
ret->s8=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRPodArray<testpod1>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s8"));
ret->s9=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRPodMultiDimArray<testpod1>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s9"));
ret->s10=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s10"));
ret->s11=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s11"));
ret->s12=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s12"));
ret->s13=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s13"));
ret->s14=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s14"));
ret->s15=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"s15"));
ret->t1=RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<transform>(RobotRaconteur::MessageElement::FindElement(i,"t1"));
ret->t2=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackNamedArray<transform>(RobotRaconteur::MessageElement::FindElement(i,"t2")), 4, false);
ret->t3=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(RobotRaconteur::MessageElement::FindElement(i,"t3")),8,boost::assign::list_of(2)(4));
ret->t4=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t4"));
ret->t5=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t5"));
ret->t6=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRNamedArray<transform>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t6"));
ret->t7=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRNamedArray<transform>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t7")), 4, false);
ret->t8=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRNamedMultiDimArray<transform>  >(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t8")),8,boost::assign::list_of(2)(4));
ret->t9=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t9"));
ret->t10=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t10"));
ret->t11=RobotRaconteur::MessageElement_UnpackVarValue(RRGetNodeWeak(),RobotRaconteur::MessageElement::FindElement(i,"t11"));
return ret;
}

static void testroot3_stub_rrverify_p1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 3, false);
}
static void testroot3_stub_rrverify_p2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 3, true);
}
static void testroot3_stub_rrverify_p3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::rr_cast<RobotRaconteur::RRMultiDimArray<int32_t >  >(value),4,boost::assign::list_of(2)(2));
}
static void testroot3_stub_rrverify_w1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 6, false);
}
static void testroot3_stub_rrverify_w2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 6, true);
}
static void testroot3_stub_rrverify_w3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::rr_cast<RobotRaconteur::RRMultiDimArray<int32_t >  >(value),6,boost::assign::list_of(3)(2));
}
testroot3_stub::testroot3_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void testroot3_stub::RRInitStub()
{
rrvar_unreliable1=RR_MAKE_SHARED<RobotRaconteur::PipeClient<int32_t > >("unreliable1",shared_from_this(), true,RobotRaconteur::MemberDefinition_Direction_readonly) ;
rrvar_p1=RR_MAKE_SHARED<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("p1",shared_from_this(), false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_p1) ;
rrvar_p2=RR_MAKE_SHARED<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("p2",shared_from_this(), false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_p2) ;
rrvar_p3=RR_MAKE_SHARED<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >("p3",shared_from_this(), false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_p3) ;
rrvar_peekwire=RR_MAKE_SHARED<RobotRaconteur::WireClient<int32_t > >("peekwire",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rrvar_pokewire=RR_MAKE_SHARED<RobotRaconteur::WireClient<int32_t > >("pokewire",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_writeonly);
rrvar_w1=RR_MAKE_SHARED<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("w1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_w1); 
rrvar_w2=RR_MAKE_SHARED<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("w2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_w2); 
rrvar_w3=RR_MAKE_SHARED<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >("w3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_stub_rrverify_w3); 
rrvar_readmem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<double > >("readmem",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rrvar_pod_m1=RR_MAKE_SHARED<RobotRaconteur::PodArrayMemoryClient<testpod2 > >("pod_m1",shared_from_this(),111,RobotRaconteur::MemberDefinition_Direction_both);
rrvar_pod_m2=RR_MAKE_SHARED<RobotRaconteur::PodMultiDimArrayMemoryClient<testpod2 > >("pod_m2",shared_from_this(),111,RobotRaconteur::MemberDefinition_Direction_both);
rrvar_namedarray_m1=RR_MAKE_SHARED<RobotRaconteur::NamedArrayMemoryClient<transform > >("namedarray_m1",shared_from_this(),7,RobotRaconteur::MemberDefinition_Direction_both);
rrvar_namedarray_m2=RR_MAKE_SHARED<RobotRaconteur::NamedMultiDimArrayMemoryClient<transform > >("namedarray_m2",shared_from_this(),7,RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m1=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::cdouble > >("c_m1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m2=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::cdouble > >("c_m2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m3=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::cdouble > >("c_m3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m4=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::cdouble > >("c_m4",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m5=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::rr_bool > >("c_m5",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_c_m6=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::rr_bool > >("c_m6",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
}

int32_t testroot3_stub::get_readme()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"readme");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
void testroot3_stub::set_writeme(int32_t value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"writeme");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

int32_t testroot3_stub::get_unknown_modifier()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"unknown_modifier");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
void testroot3_stub::set_unknown_modifier(int32_t value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"unknown_modifier");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

testenum1::testenum1 testroot3_stub::get_testenum1_prop()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testenum1_prop");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackEnum<testenum1::testenum1>(me);
}
void testroot3_stub::set_testenum1_prop(testenum1::testenum1 value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testenum1_prop");
req->AddElement(RobotRaconteur::MessageElement_PackEnumElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

testpod1 testroot3_stub::get_testpod1_prop()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testpod1_prop");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(me);
}
void testroot3_stub::set_testpod1_prop(const testpod1& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testpod1_prop");
req->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<teststruct3 > testroot3_stub::get_teststruct3_prop()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"teststruct3_prop");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackStructure<teststruct3 >(RRGetNodeWeak(), me);
}
void testroot3_stub::set_teststruct3_prop(const RR_INTRUSIVE_PTR<teststruct3 >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"teststruct3_prop");
req->AddElement(RobotRaconteur::MessageElement_PackStructElement(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_stub::get_d1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, false);
}
void testroot3_stub::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_stub::get_d2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, true);
}
void testroot3_stub::set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d2");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_stub::get_d3()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d3");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, false);
}
void testroot3_stub::set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d3");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_stub::get_d4()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d4");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, true);
}
void testroot3_stub::set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d4");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > testroot3_stub::get_d5()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d5");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),me),9,boost::assign::list_of(3)(3));
}
void testroot3_stub::set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > testroot3_stub::get_d6()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d6");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),me),9,boost::assign::list_of(3)(3));
}
void testroot3_stub::set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d6");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

vector3 testroot3_stub::get_testnamedarray1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<vector3>(me);
}
void testroot3_stub::set_testnamedarray1(const vector3& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray1");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

transform testroot3_stub::get_testnamedarray2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<transform>(me);
}
void testroot3_stub::set_testnamedarray2(const transform& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray2");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > testroot3_stub::get_testnamedarray3()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray3");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackNamedArray<transform>(me), 10, true);
}
void testroot3_stub::set_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray3");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayElement("value",RobotRaconteur::VerifyRRArrayLength(value, 10, true)));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_stub::get_testnamedarray4()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray4");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(me);
}
void testroot3_stub::set_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray4");
req->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_stub::get_testnamedarray5()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray5");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(me),6,boost::assign::list_of(3)(2));
}
void testroot3_stub::set_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray5");
req->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,6,boost::assign::list_of(3)(2))));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RobotRaconteur::cdouble testroot3_stub::get_c1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cdouble >(me);
}
void testroot3_stub::set_c1(RobotRaconteur::cdouble value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cdouble >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > testroot3_stub::get_c2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cdouble >(me);
}
void testroot3_stub::set_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c2");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cdouble >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > testroot3_stub::get_c3()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c3");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cdouble >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c3");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cdouble >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_stub::get_c4()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c4");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c4");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_stub::get_c5()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c5");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > testroot3_stub::get_c6()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c6");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c6");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RobotRaconteur::cfloat testroot3_stub::get_c7()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c7");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cfloat >(me);
}
void testroot3_stub::set_c7(RobotRaconteur::cfloat value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c7");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cfloat >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > testroot3_stub::get_c8()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c8");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cfloat >(me);
}
void testroot3_stub::set_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c8");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cfloat >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > testroot3_stub::get_c9()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c9");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cfloat >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c9");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cfloat >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_stub::get_c10()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c10");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c10(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c10");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_stub::get_c11()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c11");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c11(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c11");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > testroot3_stub::get_c12()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c12");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_c12(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c12");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RobotRaconteur::rr_bool testroot3_stub::get_b1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::rr_bool >(me);
}
void testroot3_stub::set_b1(RobotRaconteur::rr_bool value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::rr_bool >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > testroot3_stub::get_b2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::rr_bool >(me);
}
void testroot3_stub::set_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b2");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::rr_bool >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > testroot3_stub::get_b3()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b3");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::rr_bool >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b3");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::rr_bool >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_stub::get_b4()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b4");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_b4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b4");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_stub::get_b5()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b5");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_b5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > testroot3_stub::get_b6()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b6");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
void testroot3_stub::set_b6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b6");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

void testroot3_stub::testpod1_func1(const testpod1& s)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"testpod1_func1");
rr_req->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("s",s));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
}

testpod1 testroot3_stub::testpod1_func2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"testpod1_func2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> rr_me=rr_ret->FindElement("return");
return RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(rr_me);
}

RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > testroot3_stub::gen_func1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<double,void > >("gen_func1", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > testroot3_stub::gen_func2(const std::string& name)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func2");
rr_req->AddElement(RobotRaconteur::MessageElement_PackStringElement("name",name));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >("gen_func2", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_stub::gen_func3(const std::string& name)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func3");
rr_req->AddElement(RobotRaconteur::MessageElement_PackStringElement("name",name));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >("gen_func3", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_stub::gen_func4()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func4");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >("gen_func4", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > testroot3_stub::gen_func5()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func5");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >("gen_func5", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

void testroot3_stub::test_exception_params1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"test_exception_params1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
}

void testroot3_stub::test_exception_params2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"test_exception_params2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
}

RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > testroot3_stub::enum_generator1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"enum_generator1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<testenum1::testenum1,void > >("enum_generator1", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > testroot3_stub::enum_generator2(int32_t a, int32_t b)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"enum_generator2");
rr_req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("a",a));
rr_req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("b",b));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
return RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<testenum1::testenum1,testenum1::testenum1 > >("enum_generator2", RobotRaconteur::RRArrayToScalar(rr_ret->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >()),shared_from_this());
}

RR_SHARED_PTR<obj4 > testroot3_stub::get_o4()
{
return RobotRaconteur::rr_cast<obj4 >(FindObjRefTyped("o4","com.robotraconteur.testing.TestService3.obj4"));
}

RR_SHARED_PTR<obj5 > testroot3_stub::get_nolock_test()
{
return RobotRaconteur::rr_cast<obj5 >(FindObjRefTyped("nolock_test","com.robotraconteur.testing.TestService3.obj5"));
}

RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > testroot3_stub::get_unreliable1()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<int32_t > > value=rrvar_unreliable1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_unreliable1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_stub::get_p1()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > value=rrvar_p1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_p1(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_stub::get_p2()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > value=rrvar_p2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_stub::get_p3()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > value=rrvar_p3;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_p3(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_stub::get_peekwire()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<int32_t > > value=rrvar_peekwire;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_peekwire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_stub::get_pokewire()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<int32_t > > value=rrvar_pokewire;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_pokewire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_stub::get_w1()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > value=rrvar_w1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_stub::get_w2()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > value=rrvar_w2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_stub::get_w3()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > value=rrvar_w3;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::ArrayMemory<double > > testroot3_stub::get_readmem()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<double > > value=rrvar_readmem;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::PodArrayMemory<testpod2 > > testroot3_stub::get_pod_m1()
{
RR_SHARED_PTR<RobotRaconteur::PodArrayMemoryClient<testpod2 > > value=rrvar_pod_m1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::PodMultiDimArrayMemory<testpod2 > > testroot3_stub::get_pod_m2()
{
RR_SHARED_PTR<RobotRaconteur::PodMultiDimArrayMemoryClient<testpod2 > > value=rrvar_pod_m2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::NamedArrayMemory<transform > > testroot3_stub::get_namedarray_m1()
{
RR_SHARED_PTR<RobotRaconteur::NamedArrayMemoryClient<transform > > value=rrvar_namedarray_m1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::NamedMultiDimArrayMemory<transform > > testroot3_stub::get_namedarray_m2()
{
RR_SHARED_PTR<RobotRaconteur::NamedMultiDimArrayMemoryClient<transform > > value=rrvar_namedarray_m2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_stub::get_c_m1()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::cdouble > > value=rrvar_c_m1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_stub::get_c_m2()
{
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::cdouble > > value=rrvar_c_m2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_stub::get_c_m3()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::cdouble > > value=rrvar_c_m3;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_stub::get_c_m4()
{
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::cdouble > > value=rrvar_c_m4;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::rr_bool > > testroot3_stub::get_c_m5()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<RobotRaconteur::rr_bool > > value=rrvar_c_m5;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::rr_bool > > testroot3_stub::get_c_m6()
{
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemoryClient<RobotRaconteur::rr_bool > > value=rrvar_c_m6;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void testroot3_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void testroot3_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
if (m->MemberName=="unreliable1")
{
rrvar_unreliable1->PipePacketReceived(m);
return;
}
if (m->MemberName=="p1")
{
rrvar_p1->PipePacketReceived(m);
return;
}
if (m->MemberName=="p2")
{
rrvar_p2->PipePacketReceived(m);
return;
}
if (m->MemberName=="p3")
{
rrvar_p3->PipePacketReceived(m);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void testroot3_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
if (m->MemberName=="peekwire")
{
rrvar_peekwire->WirePacketReceived(m);
return;
}
if (m->MemberName=="pokewire")
{
rrvar_pokewire->WirePacketReceived(m);
return;
}
if (m->MemberName=="w1")
{
rrvar_w1->WirePacketReceived(m);
return;
}
if (m->MemberName=="w2")
{
rrvar_w2->WirePacketReceived(m);
return;
}
if (m->MemberName=="w3")
{
rrvar_w3->WirePacketReceived(m);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>testroot3_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string testroot3_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.testroot3";
}
void testroot3_stub::RRClose()
{
rrvar_unreliable1->Shutdown();
rrvar_p1->Shutdown();
rrvar_p2->Shutdown();
rrvar_p3->Shutdown();
rrvar_peekwire->Shutdown();
rrvar_pokewire->Shutdown();
rrvar_w1->Shutdown();
rrvar_w2->Shutdown();
rrvar_w3->Shutdown();
if (rrvar_readmem)
{
rrvar_readmem->Shutdown();
}
if (rrvar_pod_m1)
{
rrvar_pod_m1->Shutdown();
}
if (rrvar_pod_m2)
{
rrvar_pod_m2->Shutdown();
}
if (rrvar_namedarray_m1)
{
rrvar_namedarray_m1->Shutdown();
}
if (rrvar_namedarray_m2)
{
rrvar_namedarray_m2->Shutdown();
}
if (rrvar_c_m1)
{
rrvar_c_m1->Shutdown();
}
if (rrvar_c_m2)
{
rrvar_c_m2->Shutdown();
}
if (rrvar_c_m3)
{
rrvar_c_m3->Shutdown();
}
if (rrvar_c_m4)
{
rrvar_c_m4->Shutdown();
}
if (rrvar_c_m5)
{
rrvar_c_m5->Shutdown();
}
if (rrvar_c_m6)
{
rrvar_c_m6->Shutdown();
}
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> testroot3_stub::RRGetPipeClient(boost::string_ref membername)
{
if (membername =="unreliable1") return rrvar_unreliable1;
if (membername =="p1") return rrvar_p1;
if (membername =="p2") return rrvar_p2;
if (membername =="p3") return rrvar_p3;
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> testroot3_stub::RRGetWireClient(boost::string_ref membername)
{
if (membername =="peekwire") return rrvar_peekwire;
if (membername =="pokewire") return rrvar_pokewire;
if (membername =="w1") return rrvar_w1;
if (membername =="w2") return rrvar_w2;
if (membername =="w3") return rrvar_w3;
return ServiceStub::RRGetWireClient(membername);
}

void testroot3_stub::async_get_readme(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"readme");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_readme, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_readme(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)
{
if (err)
{
handler(0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_writeme(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"writeme");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_writeme, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_writeme(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_unknown_modifier(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"unknown_modifier");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_unknown_modifier, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_unknown_modifier(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)
{
if (err)
{
handler(0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_unknown_modifier(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"unknown_modifier");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_unknown_modifier, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_unknown_modifier(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testenum1_prop(boost::function<void (testenum1::testenum1,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testenum1_prop");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testenum1_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testenum1_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (testenum1::testenum1 ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(testenum1::testenum1(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(testenum1::testenum1(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
testenum1::testenum1 rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackEnum<testenum1::testenum1>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testenum1_prop(testenum1::testenum1 value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testenum1_prop");
req->AddElement(RobotRaconteur::MessageElement_PackEnumElement("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testenum1_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testenum1_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testpod1_prop(boost::function<void (const testpod1&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testpod1_prop");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testpod1_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testpod1_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const testpod1& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(testpod1(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(testpod1(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
testpod1 rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testpod1_prop(const testpod1& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testpod1_prop");
req->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testpod1_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testpod1_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_teststruct3_prop(boost::function<void (const RR_INTRUSIVE_PTR<teststruct3 >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"teststruct3_prop");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_teststruct3_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_teststruct3_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<teststruct3 >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<teststruct3 >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<teststruct3 >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<teststruct3 > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackStructure<teststruct3 >(RRGetNodeWeak(), me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_teststruct3_prop(const RR_INTRUSIVE_PTR<teststruct3 >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"teststruct3_prop");
req->AddElement(RobotRaconteur::MessageElement_PackStructElement(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_teststruct3_prop, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_teststruct3_prop(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRList<RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, false);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_d2(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d2");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRList<RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, true);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_d2(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d2");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d3");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, false);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d3");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_d4(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d4");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),me), 6, true);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_d4(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d4");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d5");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),me),9,boost::assign::list_of(3)(3));
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_d6(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d6");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_d6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),me),9,boost::assign::list_of(3)(3));
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_d6(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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d6");
req->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_d6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testnamedarray1(boost::function<void (const vector3&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray1");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testnamedarray1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testnamedarray1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const vector3& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(vector3(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(vector3(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
vector3 rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<vector3>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testnamedarray1(const vector3& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray1");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testnamedarray1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testnamedarray1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testnamedarray2(boost::function<void (const transform&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray2");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testnamedarray2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testnamedarray2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const transform& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(transform(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(transform(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
transform rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<transform>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testnamedarray2(const transform& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray2");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testnamedarray2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testnamedarray2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testnamedarray3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray3");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testnamedarray3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackNamedArray<transform>(me), 10, true);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray3");
req->AddElement(RobotRaconteur::MessageElement_PackNamedArrayElement("value",RobotRaconteur::VerifyRRArrayLength(value, 10, true)));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testnamedarray3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testnamedarray4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray4");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testnamedarray4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray4");
req->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testnamedarray4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_testnamedarray5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"testnamedarray5");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_testnamedarray5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(me),6,boost::assign::list_of(3)(2));
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"testnamedarray5");
req->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,6,boost::assign::list_of(3)(2))));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_testnamedarray5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c1(boost::function<void (RobotRaconteur::cdouble,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c1");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RobotRaconteur::cdouble ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RobotRaconteur::cdouble(0.0,0.0),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::cdouble(0.0,0.0),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RobotRaconteur::cdouble rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cdouble >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c1(RobotRaconteur::cdouble value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cdouble >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c2");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cdouble >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c2");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cdouble >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c3");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cdouble >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c3");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cdouble >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c4");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c4(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<RobotRaconteur::cdouble >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c4");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c5");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c5(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<RobotRaconteur::cdouble >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c6");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c6(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<RobotRaconteur::cdouble >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c6");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c7(boost::function<void (RobotRaconteur::cfloat,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c7");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c7, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c7(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RobotRaconteur::cfloat ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RobotRaconteur::cfloat(0.0,0.0),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::cfloat(0.0,0.0),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RobotRaconteur::cfloat rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cfloat >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c7(RobotRaconteur::cfloat value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c7");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cfloat >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c7, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c7(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c8(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c8");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c8, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cfloat >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c8");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cfloat >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c8, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c9(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c9");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c9, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cfloat >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c9");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cfloat >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c9, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c10(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c10");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c10, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c10(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<RobotRaconteur::cfloat >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c10(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c10");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c10, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c10(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c11(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c11");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c11, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c11(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<RobotRaconteur::cfloat >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c11(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c11");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c11, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c11(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_c12(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"c12");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_c12, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_c12(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<RobotRaconteur::cfloat >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_c12(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"c12");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_c12, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_c12(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b1(boost::function<void (RobotRaconteur::rr_bool,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b1");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RobotRaconteur::rr_bool ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RobotRaconteur::rr_bool(0),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::rr_bool(0),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RobotRaconteur::rr_bool rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::rr_bool >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b1(RobotRaconteur::rr_bool value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::rr_bool >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b2(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b2");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::rr_bool >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b2");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::rr_bool >("value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b3(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b3");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::rr_bool >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b3");
req->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::rr_bool >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b4(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b4");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b4(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<RobotRaconteur::rr_bool >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b4");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b5(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b5");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b5(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<RobotRaconteur::rr_bool >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b5");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_b6(boost::function<void (const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"b6");
AsyncProcessRequest(m,boost::bind(&testroot3_stub::rrend_get_b6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_get_b6(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<RobotRaconteur::rr_bool >  > >& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_set_b6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"b6");
req->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
AsyncProcessRequest(req,boost::bind(&testroot3_stub::rrend_set_b6, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void testroot3_stub::rrend_set_b6(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_testpod1_func1(const testpod1& s,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"testpod1_func1");
rr_req->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("s",s));
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_testpod1_func1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_testpod1_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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_testpod1_func2(boost::function<void (const testpod1&, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"testpod1_func2");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_testpod1_func2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_testpod1_func2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const testpod1& ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(testpod1(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(testpod1(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
testpod1 rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("return");
rr_ret=RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_gen_func1(boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<double,void > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func1");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_gen_func1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_gen_func1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<double,void > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<double,void > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<double,void > >("gen_func1", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_gen_func2(const std::string& name,boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func2");
rr_req->AddElement(RobotRaconteur::MessageElement_PackStringElement("name",name));
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_gen_func2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_gen_func2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >("gen_func2", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_gen_func3(const std::string& name,boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func3");
rr_req->AddElement(RobotRaconteur::MessageElement_PackStringElement("name",name));
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_gen_func3, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_gen_func3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >("gen_func3", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_gen_func4(boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func4");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_gen_func4, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_gen_func4(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >("gen_func4", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_gen_func5(boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"gen_func5");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_gen_func5, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_gen_func5(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >("gen_func5", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_test_exception_params1(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"test_exception_params1");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_test_exception_params1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_test_exception_params1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_test_exception_params2(boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"test_exception_params2");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_test_exception_params2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_test_exception_params2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_enum_generator1(boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"enum_generator1");
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_enum_generator1, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_enum_generator1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<testenum1::testenum1,void > >("enum_generator1", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_enum_generator2(int32_t a, int32_t b,boost::function<void (RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > >, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"enum_generator2");
rr_req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("a",a));
rr_req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("b",b));
AsyncProcessRequest(rr_req,boost::bind(&testroot3_stub::rrend_enum_generator2, RobotRaconteur::rr_cast<testroot3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void testroot3_stub::rrend_enum_generator2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > ,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t index;
try
{
index=RobotRaconteur::RRArrayToScalar(m->FindElement("index")->CastData<RobotRaconteur::RRArray<int32_t> >());
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(RR_MAKE_SHARED<RobotRaconteur::GeneratorClient<testenum1::testenum1,testenum1::testenum1 > >("enum_generator2", index, shared_from_this()), RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void testroot3_stub::async_get_o4(boost::function<void(RR_SHARED_PTR<obj4>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout)
{
AsyncFindObjRefTyped("o4", "com.robotraconteur.testing.TestService3.obj4", boost::bind(&RobotRaconteur::ServiceStub::EndAsyncFindObjRef<obj4 >,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),handler) ,timeout);
}

void testroot3_stub::async_get_nolock_test(boost::function<void(RR_SHARED_PTR<obj5>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout)
{
AsyncFindObjRefTyped("nolock_test", "com.robotraconteur.testing.TestService3.obj5", boost::bind(&RobotRaconteur::ServiceStub::EndAsyncFindObjRef<obj5 >,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),handler) ,timeout);
}

obj1_stub::obj1_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void obj1_stub::RRInitStub()
{
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj1_stub::get_d1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
void obj1_stub::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

void obj1_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj1_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj1_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>obj1_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string obj1_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.obj1";
}
void obj1_stub::RRClose()
{
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> obj1_stub::RRGetPipeClient(boost::string_ref membername)
{
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> obj1_stub::RRGetWireClient(boost::string_ref membername)
{
return ServiceStub::RRGetWireClient(membername);
}

void obj1_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
AsyncProcessRequest(m,boost::bind(&obj1_stub::rrend_get_d1, RobotRaconteur::rr_cast<obj1_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj1_stub::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)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj1_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj1_stub::rrend_set_d1, RobotRaconteur::rr_cast<obj1_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj1_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
obj2_stub::obj2_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void obj2_stub::RRInitStub()
{
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj2_stub::get_d1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
void obj2_stub::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

void obj2_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj2_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj2_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>obj2_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string obj2_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.obj2";
}
void obj2_stub::RRClose()
{
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> obj2_stub::RRGetPipeClient(boost::string_ref membername)
{
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> obj2_stub::RRGetWireClient(boost::string_ref membername)
{
return ServiceStub::RRGetWireClient(membername);
}

void obj2_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
AsyncProcessRequest(m,boost::bind(&obj2_stub::rrend_get_d1, RobotRaconteur::rr_cast<obj2_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj2_stub::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)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj2_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj2_stub::rrend_set_d1, RobotRaconteur::rr_cast<obj2_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj2_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
obj3_stub::obj3_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void obj3_stub::RRInitStub()
{
}

RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj3_stub::get_d1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
void obj3_stub::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

void obj3_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj3_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj3_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>obj3_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string obj3_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.obj3";
}
void obj3_stub::RRClose()
{
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> obj3_stub::RRGetPipeClient(boost::string_ref membername)
{
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> obj3_stub::RRGetWireClient(boost::string_ref membername)
{
return ServiceStub::RRGetWireClient(membername);
}

void obj3_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"d1");
AsyncProcessRequest(m,boost::bind(&obj3_stub::rrend_get_d1, RobotRaconteur::rr_cast<obj3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj3_stub::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)
{
if (err)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >(),RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackArray<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj3_stub::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_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"d1");
req->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj3_stub::rrend_set_d1, RobotRaconteur::rr_cast<obj3_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj3_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
obj4_stub::obj4_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void obj4_stub::RRInitStub()
{
}

std::string obj4_stub::get_s_ind()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"s_ind");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackString(me);
}
void obj4_stub::set_s_ind(const std::string& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"s_ind");
req->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

int32_t obj4_stub::get_i_ind()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"i_ind");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
void obj4_stub::set_i_ind(int32_t value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"i_ind");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

std::string obj4_stub::get_data()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"data");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackString(me);
}
void obj4_stub::set_data(const std::string& value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"data");
req->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub3 > obj4_stub::get_o3_1(const std::string& ind)
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService1::sub3 >(FindObjRefTyped("o3_1", ind,"com.robotraconteur.testing.TestService1.sub3"));
}

void obj4_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj4_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj4_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>obj4_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string obj4_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.obj4";
}
void obj4_stub::RRClose()
{
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> obj4_stub::RRGetPipeClient(boost::string_ref membername)
{
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> obj4_stub::RRGetWireClient(boost::string_ref membername)
{
return ServiceStub::RRGetWireClient(membername);
}

void obj4_stub::async_get_s_ind(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"s_ind");
AsyncProcessRequest(m,boost::bind(&obj4_stub::rrend_get_s_ind, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler("",err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler("",RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
std::string rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackString(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_set_s_ind(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"s_ind");
req->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
AsyncProcessRequest(req,boost::bind(&obj4_stub::rrend_set_s_ind, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_get_i_ind(boost::function<void (int32_t,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"i_ind");
AsyncProcessRequest(m,boost::bind(&obj4_stub::rrend_get_i_ind, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler(0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_set_i_ind(int32_t value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"i_ind");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
AsyncProcessRequest(req,boost::bind(&obj4_stub::rrend_set_i_ind, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_get_data(boost::function<void (const std::string&,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"data");
AsyncProcessRequest(m,boost::bind(&obj4_stub::rrend_get_data, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler("",err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler("",RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
std::string rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackString(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_set_data(const std::string& value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"data");
req->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
AsyncProcessRequest(req,boost::bind(&obj4_stub::rrend_set_data, RobotRaconteur::rr_cast<obj4_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj4_stub::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)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj4_stub::async_get_o3_1(const std::string& ind, boost::function<void(RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub3>,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&)> handler, int32_t timeout)
{
AsyncFindObjRefTyped("o3_1", ind, "com.robotraconteur.testing.TestService1.sub3", boost::bind(&RobotRaconteur::ServiceStub::EndAsyncFindObjRef<com::robotraconteur::testing::TestService1::sub3 >,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),handler) ,timeout);
}

obj5_stub::obj5_stub(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::ClientContext>& c) : RobotRaconteur::ServiceStub(path,c){ }
void obj5_stub::RRInitStub()
{
rrvar_q1=RR_MAKE_SHARED<RobotRaconteur::PipeClient<int32_t > >("q1",shared_from_this(), false,RobotRaconteur::MemberDefinition_Direction_readonly) ;
rrvar_q2=RR_MAKE_SHARED<RobotRaconteur::PipeClient<int32_t > >("q2",shared_from_this(), false,RobotRaconteur::MemberDefinition_Direction_readonly) ;
rrvar_w1=RR_MAKE_SHARED<RobotRaconteur::WireClient<int32_t > >("w1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rrvar_w2=RR_MAKE_SHARED<RobotRaconteur::WireClient<int32_t > >("w2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rrvar_m1=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<int32_t > >("m1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_m2=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<int32_t > >("m2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
rrvar_m3=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryClient<int32_t > >("m3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
}

double obj5_stub::get_p1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
void obj5_stub::set_p1(double value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

double obj5_stub::get_p2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
void obj5_stub::set_p2(double value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p2");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

double obj5_stub::get_p3()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p3");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(m);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=mr->FindElement("value");
return RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
void obj5_stub::set_p3(double value)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p3");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=ProcessRequest(req);
}

int32_t obj5_stub::f1()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"f1");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> rr_me=rr_ret->FindElement("return");
return RobotRaconteur::MessageElement_UnpackScalar<int32_t >(rr_me);
}

int32_t obj5_stub::f2()
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"f2");
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_ret=ProcessRequest(rr_req);
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> rr_me=rr_ret->FindElement("return");
return RobotRaconteur::MessageElement_UnpackScalar<int32_t >(rr_me);
}

RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_stub::get_q1()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<int32_t > > value=rrvar_q1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void obj5_stub::set_q1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_stub::get_q2()
{
RR_SHARED_PTR<RobotRaconteur::PipeClient<int32_t > > value=rrvar_q2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void obj5_stub::set_q2(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_stub::get_w1()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<int32_t > > value=rrvar_w1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void obj5_stub::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_stub::get_w2()
{
RR_SHARED_PTR<RobotRaconteur::WireClient<int32_t > > value=rrvar_w2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void obj5_stub::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
throw RobotRaconteur::InvalidOperationException("Not valid for client");
}

RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_stub::get_m1()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<int32_t > > value=rrvar_m1;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_stub::get_m2()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<int32_t > > value=rrvar_m2;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_stub::get_m3()
{
RR_SHARED_PTR<RobotRaconteur::ArrayMemoryClient<int32_t > > value=rrvar_m3;
if (!value) throw RobotRaconteur::InvalidOperationException("Stub has been closed");
return value;
}
void obj5_stub::DispatchEvent(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj5_stub::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
if (m->MemberName=="q1")
{
rrvar_q1->PipePacketReceived(m);
return;
}
if (m->MemberName=="q2")
{
rrvar_q2->PipePacketReceived(m);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
void obj5_stub::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
if (m->MemberName=="w1")
{
rrvar_w1->WirePacketReceived(m);
return;
}
if (m->MemberName=="w2")
{
rrvar_w2->WirePacketReceived(m);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>obj5_stub::CallbackCall(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RobotRaconteur::MessageStringPtr& ename=rr_m->MemberName;
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_CallbackCallRet, ename);
rr_mr->ServicePath=rr_m->ServicePath;
rr_mr->RequestID=rr_m->RequestID;
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

std::string obj5_stub::RRType()
{
return "com.robotraconteur.testing.TestService3.obj5";
}
void obj5_stub::RRClose()
{
rrvar_q1->Shutdown();
rrvar_q2->Shutdown();
rrvar_w1->Shutdown();
rrvar_w2->Shutdown();
if (rrvar_m1)
{
rrvar_m1->Shutdown();
}
if (rrvar_m2)
{
rrvar_m2->Shutdown();
}
if (rrvar_m3)
{
rrvar_m3->Shutdown();
}
ServiceStub::RRClose();
}

RR_SHARED_PTR<RobotRaconteur::PipeClientBase> obj5_stub::RRGetPipeClient(boost::string_ref membername)
{
if (membername =="q1") return rrvar_q1;
if (membername =="q2") return rrvar_q2;
return ServiceStub::RRGetPipeClient(membername);
}

RR_SHARED_PTR<RobotRaconteur::WireClientBase> obj5_stub::RRGetWireClient(boost::string_ref membername)
{
if (membername =="w1") return rrvar_w1;
if (membername =="w2") return rrvar_w2;
return ServiceStub::RRGetWireClient(membername);
}

void obj5_stub::async_get_p1(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p1");
AsyncProcessRequest(m,boost::bind(&obj5_stub::rrend_get_p1, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_get_p1(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)
{
if (err)
{
handler(0.0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0.0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
double rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_set_p1(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p1");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj5_stub::rrend_set_p1, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_set_p1(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_get_p2(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p2");
AsyncProcessRequest(m,boost::bind(&obj5_stub::rrend_get_p2, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_get_p2(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)
{
if (err)
{
handler(0.0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0.0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
double rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_set_p2(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p2");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj5_stub::rrend_set_p2, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_set_p2(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_get_p3(boost::function<void (double,const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> m=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetReq,"p3");
AsyncProcessRequest(m,boost::bind(&obj5_stub::rrend_get_p3, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_get_p3(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)
{
if (err)
{
handler(0.0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0.0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
double rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("value");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<double >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_set_p3(double value,boost::function<void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetReq,"p3");
req->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
AsyncProcessRequest(req,boost::bind(&obj5_stub::rrend_set_p3, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}
void obj5_stub::rrend_set_p3(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, boost::function< void (const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > handler)
{
if (err)
{
handler(err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
handler(RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_f1(boost::function<void (int32_t, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"f1");
AsyncProcessRequest(rr_req,boost::bind(&obj5_stub::rrend_f1, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void obj5_stub::rrend_f1(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)
{
if (err)
{
handler(0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("return");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}
void obj5_stub::async_f2(boost::function<void (int32_t, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>&) > rr_handler, int32_t rr_timeout)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_req=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallReq,"f2");
AsyncProcessRequest(rr_req,boost::bind(&obj5_stub::rrend_f2, RobotRaconteur::rr_cast<obj5_stub>(shared_from_this()),RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),rr_handler ),rr_timeout);
}

void obj5_stub::rrend_f2(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)
{
if (err)
{
handler(0,err);
return;
}
if (m->Error != RobotRaconteur::MessageErrorType_None)
{
handler(0,RobotRaconteur::RobotRaconteurExceptionUtil::MessageEntryToException(m));
return;
}
int32_t rr_ret;
try
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> me=m->FindElement("return");
rr_ret=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(me);
}
catch (std::exception& err2)
{
RobotRaconteur::detail::InvokeHandlerWithException(node, handler, err2, RobotRaconteur::MessageErrorType_DataTypeError);
}
handler(rr_ret, RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>());
}

void testroot3_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
rr_readmem_mem.reset();
rr_pod_m1_mem.reset();
rr_pod_m2_mem.reset();
rr_namedarray_m1_mem.reset();
rr_namedarray_m2_mem.reset();
rr_c_m1_mem.reset();
rr_c_m2_mem.reset();
rr_c_m3_mem.reset();
rr_c_m4_mem.reset();
rr_c_m5_mem.reset();
rr_c_m6_mem.reset();
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3 > testroot3_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_testroot3 > testroot3_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_testroot3 >(uncastobj);
}
void testroot3_skel::ReleaseCastObject() 
{
rr_unreliable1_pipe->Shutdown();
rr_p1_pipe->Shutdown();
rr_p2_pipe->Shutdown();
rr_p3_pipe->Shutdown();
rr_peekwire_wire->Shutdown();
rr_pokewire_wire->Shutdown();
rr_w1_wire->Shutdown();
rr_w2_wire->Shutdown();
rr_w3_wire->Shutdown();
}
std::string testroot3_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.testroot3";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_testroot3 > async_obj=get_asyncobj();
if (m->MemberName == "readme")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_readme(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_readme,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
int32_t value=get_obj()->get_readme();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
return mr;
}
}
if (m->MemberName == "writeme")
{
throw RobotRaconteur::WriteOnlyMemberException("Write only property");
}
if (m->MemberName == "unknown_modifier")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_unknown_modifier(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_unknown_modifier,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
int32_t value=get_obj()->get_unknown_modifier();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
return mr;
}
}
if (m->MemberName == "testenum1_prop")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testenum1_prop(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testenum1_prop,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
testenum1::testenum1 value=get_obj()->get_testenum1_prop();
mr->AddElement(RobotRaconteur::MessageElement_PackEnumElement("value",value));
return mr;
}
}
if (m->MemberName == "testpod1_prop")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testpod1_prop(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testpod1_prop,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
testpod1 value=get_obj()->get_testpod1_prop();
mr->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("value",value));
return mr;
}
}
if (m->MemberName == "teststruct3_prop")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_teststruct3_prop(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_teststruct3_prop,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<teststruct3 > value=get_obj()->get_teststruct3_prop();
mr->AddElement(RobotRaconteur::MessageElement_PackStructElement(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "d1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d1(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value=get_obj()->get_d1();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
return mr;
}
}
if (m->MemberName == "d2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d2,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value=get_obj()->get_d2();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
return mr;
}
}
if (m->MemberName == "d3")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d3(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d3,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value=get_obj()->get_d3();
mr->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false)));
return mr;
}
}
if (m->MemberName == "d4")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d4(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d4,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value=get_obj()->get_d4();
mr->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true)));
return mr;
}
}
if (m->MemberName == "d5")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d5(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d5,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > value=get_obj()->get_d5();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
return mr;
}
}
if (m->MemberName == "d6")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_d6(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_d6,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > value=get_obj()->get_d6();
mr->AddElement(RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3))));
return mr;
}
}
if (m->MemberName == "testnamedarray1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testnamedarray1(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testnamedarray1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
vector3 value=get_obj()->get_testnamedarray1();
mr->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
return mr;
}
}
if (m->MemberName == "testnamedarray2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testnamedarray2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testnamedarray2,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
transform value=get_obj()->get_testnamedarray2();
mr->AddElement(RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value));
return mr;
}
}
if (m->MemberName == "testnamedarray3")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testnamedarray3(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testnamedarray3,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > value=get_obj()->get_testnamedarray3();
mr->AddElement(RobotRaconteur::MessageElement_PackNamedArrayElement("value",RobotRaconteur::VerifyRRArrayLength(value, 10, true)));
return mr;
}
}
if (m->MemberName == "testnamedarray4")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testnamedarray4(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testnamedarray4,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value=get_obj()->get_testnamedarray4();
mr->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",value));
return mr;
}
}
if (m->MemberName == "testnamedarray5")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_testnamedarray5(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_testnamedarray5,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value=get_obj()->get_testnamedarray5();
mr->AddElement(RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,6,boost::assign::list_of(3)(2))));
return mr;
}
}
if (m->MemberName == "c1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c1(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RobotRaconteur::cdouble value=get_obj()->get_c1();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cdouble >("value",value));
return mr;
}
}
if (m->MemberName == "c2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c2,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > value=get_obj()->get_c2();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cdouble >("value",value));
return mr;
}
}
if (m->MemberName == "c3")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c3(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c3,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > value=get_obj()->get_c3();
mr->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cdouble >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c4")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c4(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c4,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value=get_obj()->get_c4();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c5")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c5(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c5,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value=get_obj()->get_c5();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c6")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c6(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c6,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > value=get_obj()->get_c6();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c7")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c7(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c7,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RobotRaconteur::cfloat value=get_obj()->get_c7();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cfloat >("value",value));
return mr;
}
}
if (m->MemberName == "c8")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c8(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c8,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > value=get_obj()->get_c8();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cfloat >("value",value));
return mr;
}
}
if (m->MemberName == "c9")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c9(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c9,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > value=get_obj()->get_c9();
mr->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cfloat >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c10")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c10(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c10,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value=get_obj()->get_c10();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c11")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c11(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c11,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value=get_obj()->get_c11();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "c12")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_c12(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_c12,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > value=get_obj()->get_c12();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "b1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b1(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RobotRaconteur::rr_bool value=get_obj()->get_b1();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::rr_bool >("value",value));
return mr;
}
}
if (m->MemberName == "b2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b2,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > value=get_obj()->get_b2();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::rr_bool >("value",value));
return mr;
}
}
if (m->MemberName == "b3")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b3(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b3,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > value=get_obj()->get_b3();
mr->AddElement(RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::rr_bool >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "b4")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b4(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b4,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value=get_obj()->get_b4();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "b5")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b5(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b5,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value=get_obj()->get_b5();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
if (m->MemberName == "b6")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_get_b6(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_get_b6,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > value=get_obj()->get_b6();
mr->AddElement(RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),"value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_testroot3 > async_obj=get_asyncobj();
if (m->MemberName == "readme")
{
throw RobotRaconteur::ReadOnlyMemberException("Read only property");
}
if (m->MemberName == "writeme")
{
int32_t value=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_writeme(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_writeme(value);
return mr;
}
}
if (m->MemberName == "unknown_modifier")
{
int32_t value=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_unknown_modifier(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_unknown_modifier(value);
return mr;
}
}
if (m->MemberName == "testenum1_prop")
{
testenum1::testenum1 value=RobotRaconteur::MessageElement_UnpackEnum<testenum1::testenum1>(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testenum1_prop(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testenum1_prop(value);
return mr;
}
}
if (m->MemberName == "testpod1_prop")
{
testpod1 value=RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testpod1_prop(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testpod1_prop(value);
return mr;
}
}
if (m->MemberName == "teststruct3_prop")
{
RR_INTRUSIVE_PTR<teststruct3 > value=RobotRaconteur::MessageElement_UnpackStructure<teststruct3 >(RRGetNodeWeak(), m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_teststruct3_prop(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_teststruct3_prop(value);
return mr;
}
}
if (m->MemberName == "d1")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),m->FindElement("value")), 6, false);
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d1(value);
return mr;
}
}
if (m->MemberName == "d2")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > value=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),m->FindElement("value")), 6, true);
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d2(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d2(value);
return mr;
}
}
if (m->MemberName == "d3")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),m->FindElement("value")), 6, false);
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d3(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d3(value);
return mr;
}
}
if (m->MemberName == "d4")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > value=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRArray<double >  >(RRGetNodeWeak(),m->FindElement("value")), 6, true);
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d4(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d4(value);
return mr;
}
}
if (m->MemberName == "d5")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > value=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),m->FindElement("value")),9,boost::assign::list_of(3)(3));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d5(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d5(value);
return mr;
}
}
if (m->MemberName == "d6")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > value=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(RRGetNodeWeak(),m->FindElement("value")),9,boost::assign::list_of(3)(3));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_d6(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d6(value);
return mr;
}
}
if (m->MemberName == "testnamedarray1")
{
vector3 value=RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<vector3>(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testnamedarray1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testnamedarray1(value);
return mr;
}
}
if (m->MemberName == "testnamedarray2")
{
transform value=RobotRaconteur::MessageElement_UnpackNamedArrayFromArray<transform>(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testnamedarray2(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testnamedarray2(value);
return mr;
}
}
if (m->MemberName == "testnamedarray3")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > value=RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::MessageElement_UnpackNamedArray<transform>(m->FindElement("value")), 10, true);
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testnamedarray3(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testnamedarray3(value);
return mr;
}
}
if (m->MemberName == "testnamedarray4")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value=RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testnamedarray4(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testnamedarray4(value);
return mr;
}
}
if (m->MemberName == "testnamedarray5")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value=RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::MessageElement_UnpackNamedMultiDimArray<transform>(m->FindElement("value")),6,boost::assign::list_of(3)(2));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_testnamedarray5(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_testnamedarray5(value);
return mr;
}
}
if (m->MemberName == "c1")
{
RobotRaconteur::cdouble value=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cdouble >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c1(value);
return mr;
}
}
if (m->MemberName == "c2")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > value=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cdouble >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c2(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c2(value);
return mr;
}
}
if (m->MemberName == "c3")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > value=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cdouble >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c3(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c3(value);
return mr;
}
}
if (m->MemberName == "c4")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c4(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c4(value);
return mr;
}
}
if (m->MemberName == "c5")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c5(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c5(value);
return mr;
}
}
if (m->MemberName == "c6")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c6(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c6(value);
return mr;
}
}
if (m->MemberName == "c7")
{
RobotRaconteur::cfloat value=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::cfloat >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c7(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c7(value);
return mr;
}
}
if (m->MemberName == "c8")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > value=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::cfloat >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c8(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c8(value);
return mr;
}
}
if (m->MemberName == "c9")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > value=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::cfloat >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c9(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c9(value);
return mr;
}
}
if (m->MemberName == "c10")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c10(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c10(value);
return mr;
}
}
if (m->MemberName == "c11")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c11(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c11(value);
return mr;
}
}
if (m->MemberName == "c12")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_c12(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_c12(value);
return mr;
}
}
if (m->MemberName == "b1")
{
RobotRaconteur::rr_bool value=RobotRaconteur::MessageElement_UnpackScalar<RobotRaconteur::rr_bool >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b1(value);
return mr;
}
}
if (m->MemberName == "b2")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > value=RobotRaconteur::MessageElement_UnpackArray<RobotRaconteur::rr_bool >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b2(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b2(value);
return mr;
}
}
if (m->MemberName == "b3")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > value=RobotRaconteur::MessageElement_UnpackMultiDimArray<RobotRaconteur::rr_bool >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b3(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b3(value);
return mr;
}
}
if (m->MemberName == "b4")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b4(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b4(value);
return mr;
}
}
if (m->MemberName == "b5")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b5(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b5(value);
return mr;
}
}
if (m->MemberName == "b6")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > value=RobotRaconteur::MessageElement_UnpackList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(RRGetNodeWeak(),m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_set_b6(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_b6(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void testroot3_skel::rr_get_readme(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_unknown_modifier(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testenum1_prop(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,testenum1::testenum1 value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackEnumElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testpod1_prop(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,testpod1 value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackPodToArrayElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_teststruct3_prop(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<teststruct3 > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackStructElement(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, false));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d4(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRArrayLength(value, 6, true));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d5(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3)));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_d6(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMapElement<int32_t,RobotRaconteur::RRMultiDimArray<double >  >(skel1->RRGetNodeWeak(),"value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,9,boost::assign::list_of(3)(3)));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testnamedarray1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,vector3 value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testnamedarray2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,transform value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackNamedArrayToArrayElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testnamedarray3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackNamedArrayElement("value",RobotRaconteur::VerifyRRArrayLength(value, 10, true));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testnamedarray4(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_testnamedarray5(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackNamedMultiDimArrayElement("value",RobotRaconteur::VerifyRRMultiDimArrayLength<2>(value,6,boost::assign::list_of(3)(2)));
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RobotRaconteur::cdouble value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cdouble >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cdouble >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cdouble >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c4(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c5(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c6(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c7(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RobotRaconteur::cfloat value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::cfloat >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c8(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::cfloat >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c9(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::cfloat >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c10(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c11(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_c12(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RobotRaconteur::rr_bool value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<RobotRaconteur::rr_bool >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<RobotRaconteur::rr_bool >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackMultiDimArrayElement<RobotRaconteur::rr_bool >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b4(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b5(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void testroot3_skel::rr_get_b6(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel,RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > value, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::ServerEndpoint>& ep)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackListElement<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  >(skel1->RRGetNodeWeak(),"value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_testroot3 > async_obj=get_asyncobj();
if (rr_m->MemberName == "testpod1_func1")
{
testpod1 s =RobotRaconteur::MessageElement_UnpackPodFromArray<testpod1>(rr_m->FindElement("s"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_testpod1_func1(s, boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_testpod1_func1,rr_wp, RR_BOOST_PLACEHOLDERS(_1), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->testpod1_func1(s);
rr_mr->AddElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
return rr_mr;
}
}
if (rr_m->MemberName == "testpod1_func2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_testpod1_func2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_testpod1_func2, rr_wp, RR_BOOST_PLACEHOLDERS(_1), RR_BOOST_PLACEHOLDERS(_2), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
testpod1 rr_return=get_obj()->testpod1_func2();
rr_mr->AddElement(RobotRaconteur::MessageElement_PackPodToArrayElement("return",rr_return));
return rr_mr;
}
}
if (rr_m->MemberName == "gen_func1")
{
{
RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > rr_return=get_obj()->gen_func1();
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<double,void > >(rr_return, "gen_func1",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "gen_func2")
{
std::string name =RobotRaconteur::MessageElement_UnpackString(rr_m->FindElement("name"));
{
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > rr_return=get_obj()->gen_func2(name);
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >(rr_return, "gen_func2",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "gen_func3")
{
std::string name =RobotRaconteur::MessageElement_UnpackString(rr_m->FindElement("name"));
{
RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > rr_return=get_obj()->gen_func3(name);
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(rr_return, "gen_func3",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "gen_func4")
{
{
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > rr_return=get_obj()->gen_func4();
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(rr_return, "gen_func4",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "gen_func5")
{
{
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > rr_return=get_obj()->gen_func5();
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >(rr_return, "gen_func5",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "test_exception_params1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_test_exception_params1(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_test_exception_params1,rr_wp, RR_BOOST_PLACEHOLDERS(_1), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->test_exception_params1();
rr_mr->AddElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
return rr_mr;
}
}
if (rr_m->MemberName == "test_exception_params2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3_skel>(shared_from_this());
async_obj->async_test_exception_params2(boost::bind(&com::robotraconteur::testing::TestService3::testroot3_skel::rr_test_exception_params2,rr_wp, RR_BOOST_PLACEHOLDERS(_1), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->test_exception_params2();
rr_mr->AddElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
return rr_mr;
}
}
if (rr_m->MemberName == "enum_generator1")
{
{
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > rr_return=get_obj()->enum_generator1();
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<testenum1::testenum1,void > >(rr_return, "enum_generator1",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
if (rr_m->MemberName == "enum_generator2")
{
int32_t a =RobotRaconteur::MessageElement_UnpackScalar<int32_t >(rr_m->FindElement("a"));
int32_t b =RobotRaconteur::MessageElement_UnpackScalar<int32_t >(rr_m->FindElement("b"));
{
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > rr_return=get_obj()->enum_generator2(a, b);
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(generators_lock);
rr_index = get_new_generator_index();
generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<testenum1::testenum1,testenum1::testenum1 > >(rr_return, "enum_generator2",rr_index, shared_from_this(), RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
rr_mr->AddElement("index", RobotRaconteur::ScalarToRRArray(rr_index));
return rr_mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void testroot3_skel::rr_testpod1_func1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
mr=RobotRaconteur::CreateMessageElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_testpod1_func2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, testpod1 ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackPodToArrayElement("return",ret);
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_gen_func1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<double,void > >(ret, "gen_func1",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_gen_func2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > >(ret, "gen_func2",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_gen_func3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(ret, "gen_func3",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_gen_func4(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > >(ret, "gen_func4",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_gen_func5(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > >(ret, "gen_func5",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_test_exception_params1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
mr=RobotRaconteur::CreateMessageElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_test_exception_params2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
mr=RobotRaconteur::CreateMessageElement("return",RobotRaconteur::ScalarToRRArray<int32_t>(0));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_enum_generator1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<testenum1::testenum1,void > >(ret, "enum_generator1",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::rr_enum_generator2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel, RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > ret, const RR_SHARED_PTR<RobotRaconteur::RobotRaconteurException>& err, const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, RR_SHARED_PTR<RobotRaconteur::ServerEndpoint> ep)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
int32_t rr_index = 0;
{
boost::mutex::scoped_lock lock(skel1->generators_lock);
rr_index = skel1->get_new_generator_index();
skel1->generators.insert(std::make_pair(rr_index,RR_MAKE_SHARED<RobotRaconteur::GeneratorServer<testenum1::testenum1,testenum1::testenum1 > >(ret, "enum_generator2",rr_index, skel1, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint())));
}
mr = RobotRaconteur::CreateMessageElement("index",RobotRaconteur::ScalarToRRArray(rr_index));
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void testroot3_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void testroot3_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> testroot3_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
if (name=="o4")
{
return RobotRaconteur::rr_cast<RobotRaconteur::RRObject>(get_obj()->get_o4());
}
if (name=="nolock_test")
{
return RobotRaconteur::rr_cast<RobotRaconteur::RRObject>(get_obj()->get_nolock_test());
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

static void testroot3_skel_rrverify_p1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 3, false);
}
static void testroot3_skel_rrverify_p2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 3, true);
}
static void testroot3_skel_rrverify_p3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::rr_cast<RobotRaconteur::RRMultiDimArray<int32_t >  >(value),4,boost::assign::list_of(2)(2));
}
void testroot3_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3 >(rrobj1);
rr_unreliable1_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<int32_t > >("unreliable1",shared_from_this(),true,RobotRaconteur::MemberDefinition_Direction_readonly);
rr_p1_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("p1",shared_from_this(),false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_p1);
rr_p2_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("p2",shared_from_this(),false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_p2);
rr_p3_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >("p3",shared_from_this(),false,RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_p3);
obj->set_unreliable1(rr_unreliable1_pipe);
obj->set_p1(rr_p1_pipe);
obj->set_p2(rr_p2_pipe);
obj->set_p3(rr_p3_pipe);
}

void testroot3_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="unreliable1")
{
rr_unreliable1_pipe->PipePacketReceived(m,e);
return;
}
if (m->MemberName=="p1")
{
rr_p1_pipe->PipePacketReceived(m,e);
return;
}
if (m->MemberName=="p2")
{
rr_p2_pipe->PipePacketReceived(m,e);
return;
}
if (m->MemberName=="p3")
{
rr_p3_pipe->PipePacketReceived(m,e);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="unreliable1")
{
return rr_unreliable1_pipe->PipeCommand(m,e);
}
if (m->MemberName=="p1")
{
return rr_p1_pipe->PipeCommand(m,e);
}
if (m->MemberName=="p2")
{
return rr_p2_pipe->PipeCommand(m,e);
}
if (m->MemberName=="p3")
{
return rr_p3_pipe->PipeCommand(m,e);
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

static void testroot3_skel_rrverify_w1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 6, false);
}
static void testroot3_skel_rrverify_w2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRArrayLength(RobotRaconteur::rr_cast<RobotRaconteur::RRArray<int32_t >  >(value), 6, true);
}
static void testroot3_skel_rrverify_w3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRValue>& value)
{
RobotRaconteur::VerifyRRMultiDimArrayLength<2>(RobotRaconteur::rr_cast<RobotRaconteur::RRMultiDimArray<int32_t >  >(value),6,boost::assign::list_of(3)(2));
}
void testroot3_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3 >(rrobj1);
rr_peekwire_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<int32_t > >("peekwire",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rr_pokewire_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<int32_t > >("pokewire",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_writeonly);
rr_w1_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("w1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_w1);
rr_w2_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >("w2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_w2);
rr_w3_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >("w3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both,&testroot3_skel_rrverify_w3);
obj->set_peekwire(rr_peekwire_wire);
obj->set_pokewire(rr_pokewire_wire);
obj->set_w1(rr_w1_wire);
obj->set_w2(rr_w2_wire);
obj->set_w3(rr_w3_wire);
}

void testroot3_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="peekwire")
{
rr_peekwire_wire->WirePacketReceived(m,e);
return;
}
if (m->MemberName=="pokewire")
{
rr_pokewire_wire->WirePacketReceived(m,e);
return;
}
if (m->MemberName=="w1")
{
rr_w1_wire->WirePacketReceived(m,e);
return;
}
if (m->MemberName=="w2")
{
rr_w2_wire->WirePacketReceived(m,e);
return;
}
if (m->MemberName=="w3")
{
rr_w3_wire->WirePacketReceived(m,e);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="peekwire")
{
return rr_peekwire_wire->WireCommand(m,e);
}
if (m->MemberName=="pokewire")
{
return rr_pokewire_wire->WireCommand(m,e);
}
if (m->MemberName=="w1")
{
return rr_w1_wire->WireCommand(m,e);
}
if (m->MemberName=="w2")
{
return rr_w2_wire->WireCommand(m,e);
}
if (m->MemberName=="w3")
{
return rr_w3_wire->WireCommand(m,e);
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void testroot3_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::testroot3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::testroot3 >(o);
}
RR_SHARED_PTR<void> testroot3_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> testroot3_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
if (m->MemberName=="readmem")
{
if (rr_readmem_mem==0) rr_readmem_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<double > >("readmem",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
return rr_readmem_mem->CallMemoryFunction(m,e,get_obj()->get_readmem());
}
if (m->MemberName=="pod_m1")
{
if (rr_pod_m1_mem==0) rr_pod_m1_mem=RR_MAKE_SHARED<RobotRaconteur::PodArrayMemoryServiceSkel<testpod2 > >("pod_m1",shared_from_this(),111,RobotRaconteur::MemberDefinition_Direction_both);
return rr_pod_m1_mem->CallMemoryFunction(m,e,get_obj()->get_pod_m1());
}
if (m->MemberName=="pod_m2")
{
if (rr_pod_m2_mem==0) rr_pod_m2_mem=RR_MAKE_SHARED<RobotRaconteur::PodMultiDimArrayMemoryServiceSkel<testpod2 > >("pod_m2",shared_from_this(),111,RobotRaconteur::MemberDefinition_Direction_both);
return rr_pod_m2_mem->CallMemoryFunction(m,e,get_obj()->get_pod_m2());
}
if (m->MemberName=="namedarray_m1")
{
if (rr_namedarray_m1_mem==0) rr_namedarray_m1_mem=RR_MAKE_SHARED<RobotRaconteur::NamedArrayMemoryServiceSkel<transform > >("namedarray_m1",shared_from_this(),7,RobotRaconteur::MemberDefinition_Direction_both);
return rr_namedarray_m1_mem->CallMemoryFunction(m,e,get_obj()->get_namedarray_m1());
}
if (m->MemberName=="namedarray_m2")
{
if (rr_namedarray_m2_mem==0) rr_namedarray_m2_mem=RR_MAKE_SHARED<RobotRaconteur::NamedMultiDimArrayMemoryServiceSkel<transform > >("namedarray_m2",shared_from_this(),7,RobotRaconteur::MemberDefinition_Direction_both);
return rr_namedarray_m2_mem->CallMemoryFunction(m,e,get_obj()->get_namedarray_m2());
}
if (m->MemberName=="c_m1")
{
if (rr_c_m1_mem==0) rr_c_m1_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<RobotRaconteur::cdouble > >("c_m1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m1_mem->CallMemoryFunction(m,e,get_obj()->get_c_m1());
}
if (m->MemberName=="c_m2")
{
if (rr_c_m2_mem==0) rr_c_m2_mem=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryServiceSkel<RobotRaconteur::cdouble > >("c_m2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m2_mem->CallMemoryFunction(m,e,get_obj()->get_c_m2());
}
if (m->MemberName=="c_m3")
{
if (rr_c_m3_mem==0) rr_c_m3_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<RobotRaconteur::cdouble > >("c_m3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m3_mem->CallMemoryFunction(m,e,get_obj()->get_c_m3());
}
if (m->MemberName=="c_m4")
{
if (rr_c_m4_mem==0) rr_c_m4_mem=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryServiceSkel<RobotRaconteur::cdouble > >("c_m4",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m4_mem->CallMemoryFunction(m,e,get_obj()->get_c_m4());
}
if (m->MemberName=="c_m5")
{
if (rr_c_m5_mem==0) rr_c_m5_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<RobotRaconteur::rr_bool > >("c_m5",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m5_mem->CallMemoryFunction(m,e,get_obj()->get_c_m5());
}
if (m->MemberName=="c_m6")
{
if (rr_c_m6_mem==0) rr_c_m6_mem=RR_MAKE_SHARED<RobotRaconteur::MultiDimArrayMemoryServiceSkel<RobotRaconteur::rr_bool > >("c_m6",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_c_m6_mem->CallMemoryFunction(m,e,get_obj()->get_c_m6());
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool testroot3_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
return false;
}
void obj1_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1 > obj1_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj1 > obj1_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_obj1 >(uncastobj);
}
void obj1_skel::ReleaseCastObject() 
{
}
std::string obj1_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.obj1";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj1 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj1_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1_skel>(shared_from_this());
async_obj->async_get_d1(boost::bind(&com::robotraconteur::testing::TestService3::obj1_skel::rr_get_d1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=get_obj()->get_d1();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj1 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=RobotRaconteur::MessageElement_UnpackArray<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj1_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1_skel>(shared_from_this());
async_obj->async_set_d1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d1(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj1_skel::rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj1_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj1 > async_obj=get_asyncobj();
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj1_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void obj1_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> obj1_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj1_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1 >(rrobj1);
}

void obj1_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj1_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1 >(rrobj1);
}

void obj1_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj1_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj1 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj1 >(o);
}
RR_SHARED_PTR<void> obj1_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj1_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool obj1_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
return false;
}
void obj2_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2 > obj2_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj2 > obj2_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_obj2 >(uncastobj);
}
void obj2_skel::ReleaseCastObject() 
{
}
std::string obj2_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.obj2";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj2 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj2_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2_skel>(shared_from_this());
async_obj->async_get_d1(boost::bind(&com::robotraconteur::testing::TestService3::obj2_skel::rr_get_d1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=get_obj()->get_d1();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj2 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=RobotRaconteur::MessageElement_UnpackArray<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj2_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2_skel>(shared_from_this());
async_obj->async_set_d1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d1(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj2_skel::rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj2_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj2 > async_obj=get_asyncobj();
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj2_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void obj2_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> obj2_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj2_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2 >(rrobj1);
}

void obj2_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj2_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2 >(rrobj1);
}

void obj2_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj2_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj2 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj2 >(o);
}
RR_SHARED_PTR<void> obj2_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj2_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool obj2_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
return false;
}
void obj3_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3 > obj3_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj3 > obj3_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_obj3 >(uncastobj);
}
void obj3_skel::ReleaseCastObject() 
{
}
std::string obj3_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.obj3";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj3 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3_skel>(shared_from_this());
async_obj->async_get_d1(boost::bind(&com::robotraconteur::testing::TestService3::obj3_skel::rr_get_d1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=get_obj()->get_d1();
mr->AddElement(RobotRaconteur::MessageElement_PackArrayElement<double >("value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj3 > async_obj=get_asyncobj();
if (m->MemberName == "d1")
{
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > value=RobotRaconteur::MessageElement_UnpackArray<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj3_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3_skel>(shared_from_this());
async_obj->async_set_d1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_d1(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj3_skel::rr_get_d1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj3_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackArrayElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj3 > async_obj=get_asyncobj();
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj3_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void obj3_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> obj3_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj3_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3 >(rrobj1);
}

void obj3_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj3_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3 >(rrobj1);
}

void obj3_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj3_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj3 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj3 >(o);
}
RR_SHARED_PTR<void> obj3_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj3_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool obj3_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
return false;
}
void obj4_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4 > obj4_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj4 > obj4_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_obj4 >(uncastobj);
}
void obj4_skel::ReleaseCastObject() 
{
}
std::string obj4_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.obj4";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj4 > async_obj=get_asyncobj();
if (m->MemberName == "s_ind")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_get_s_ind(boost::bind(&com::robotraconteur::testing::TestService3::obj4_skel::rr_get_s_ind,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
std::string value=get_obj()->get_s_ind();
mr->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
return mr;
}
}
if (m->MemberName == "i_ind")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_get_i_ind(boost::bind(&com::robotraconteur::testing::TestService3::obj4_skel::rr_get_i_ind,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
int32_t value=get_obj()->get_i_ind();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value));
return mr;
}
}
if (m->MemberName == "data")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_get_data(boost::bind(&com::robotraconteur::testing::TestService3::obj4_skel::rr_get_data,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
std::string value=get_obj()->get_data();
mr->AddElement(RobotRaconteur::MessageElement_PackStringElement("value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj4 > async_obj=get_asyncobj();
if (m->MemberName == "s_ind")
{
std::string value=RobotRaconteur::MessageElement_UnpackString(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_set_s_ind(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_s_ind(value);
return mr;
}
}
if (m->MemberName == "i_ind")
{
int32_t value=RobotRaconteur::MessageElement_UnpackScalar<int32_t >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_set_i_ind(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_i_ind(value);
return mr;
}
}
if (m->MemberName == "data")
{
std::string value=RobotRaconteur::MessageElement_UnpackString(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4_skel>(shared_from_this());
async_obj->async_set_data(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_data(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj4_skel::rr_get_s_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackStringElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void obj4_skel::rr_get_i_ind(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<int32_t >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void obj4_skel::rr_get_data(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj4_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackStringElement("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj4 > async_obj=get_asyncobj();
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj4_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void obj4_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> obj4_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
if (name=="o3_1")
{
return RobotRaconteur::rr_cast<RobotRaconteur::RRObject>(get_obj()->get_o3_1(ind.to_string()));
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj4_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4 >(rrobj1);
}

void obj4_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj4_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4 >(rrobj1);
}

void obj4_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj4_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj4 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj4 >(o);
}
RR_SHARED_PTR<void> obj4_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj4_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool obj4_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
return false;
}
void obj5_skel::Init(boost::string_ref path, const RR_SHARED_PTR<RobotRaconteur::RRObject>& object, const RR_SHARED_PTR<RobotRaconteur::ServerContext>& context)
{
uncastobj=object;
rr_InitPipeServersRun=false;
rr_InitWireServersRun=false;
rr_m1_mem.reset();
rr_m2_mem.reset();
rr_m3_mem.reset();
ServiceSkel::Init(path,object,context);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5 > obj5_skel::get_obj()
{
return RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5 >(uncastobj);
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj5 > obj5_skel::get_asyncobj()
{
return RR_DYNAMIC_POINTER_CAST<com::robotraconteur::testing::TestService3::async_obj5 >(uncastobj);
}
void obj5_skel::ReleaseCastObject() 
{
rr_q1_pipe->Shutdown();
rr_q2_pipe->Shutdown();
rr_w1_wire->Shutdown();
rr_w2_wire->Shutdown();
}
std::string obj5_skel::GetObjectType()
{
return "com.robotraconteur.testing.TestService3.obj5";
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallGetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertyGetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj5 > async_obj=get_asyncobj();
if (m->MemberName == "p1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_get_p1(boost::bind(&com::robotraconteur::testing::TestService3::obj5_skel::rr_get_p1,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
double value=get_obj()->get_p1();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
return mr;
}
}
if (m->MemberName == "p2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_get_p2(boost::bind(&com::robotraconteur::testing::TestService3::obj5_skel::rr_get_p2,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
double value=get_obj()->get_p2();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
return mr;
}
}
if (m->MemberName == "p3")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_get_p3(boost::bind(&com::robotraconteur::testing::TestService3::obj5_skel::rr_get_p3,wp,RR_BOOST_PLACEHOLDERS(_1),RR_BOOST_PLACEHOLDERS(_2),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
double value=get_obj()->get_p3();
mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<double >("value",value));
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallSetProperty(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_PropertySetRes,m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj5 > async_obj=get_asyncobj();
if (m->MemberName == "p1")
{
double value=RobotRaconteur::MessageElement_UnpackScalar<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_set_p1(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_p1(value);
return mr;
}
}
if (m->MemberName == "p2")
{
double value=RobotRaconteur::MessageElement_UnpackScalar<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_set_p2(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_p2(value);
return mr;
}
}
if (m->MemberName == "p3")
{
double value=RobotRaconteur::MessageElement_UnpackScalar<double >(m->FindElement("value"));
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_set_p3(value,boost::bind(&RobotRaconteur::ServiceSkel::EndAsyncCallSetProperty,wp,RR_BOOST_PLACEHOLDERS(_1),m,RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
get_obj()->set_p3(value);
return mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj5_skel::rr_get_p1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void obj5_skel::rr_get_p2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
void obj5_skel::rr_get_p3(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_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)
{
if(err)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<double >("value",value);
}
catch (std::exception& err2)
{
EndAsyncCallGetProperty(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallGetProperty(skel, mr, err, m,ep);
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& rr_m)
{
RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> rr_mr=RobotRaconteur::CreateMessageEntry(RobotRaconteur::MessageEntryType_FunctionCallRes,rr_m->MemberName);
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::async_obj5 > async_obj=get_asyncobj();
if (rr_m->MemberName == "f1")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_f1(boost::bind(&com::robotraconteur::testing::TestService3::obj5_skel::rr_f1, rr_wp, RR_BOOST_PLACEHOLDERS(_1), RR_BOOST_PLACEHOLDERS(_2), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
int32_t rr_return=get_obj()->f1();
rr_mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("return",rr_return));
return rr_mr;
}
}
if (rr_m->MemberName == "f2")
{
if (async_obj)
{
RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_skel> rr_wp=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5_skel>(shared_from_this());
async_obj->async_f2(boost::bind(&com::robotraconteur::testing::TestService3::obj5_skel::rr_f2, rr_wp, RR_BOOST_PLACEHOLDERS(_1), RR_BOOST_PLACEHOLDERS(_2), rr_m, RobotRaconteur::ServerEndpoint::GetCurrentEndpoint()));
return RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>();
}
else
{
int32_t rr_return=get_obj()->f2();
rr_mr->AddElement(RobotRaconteur::MessageElement_PackScalarElement<int32_t >("return",rr_return));
return rr_mr;
}
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj5_skel::rr_f1(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_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)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<int32_t >("return",ret);
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void obj5_skel::rr_f2(RR_WEAK_PTR<com::robotraconteur::testing::TestService3::obj5_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)
{
if(err)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),err,m, ep);
return;
}
RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement> mr;
try
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5_skel> skel1=skel.lock();
if (!skel1) throw RobotRaconteur::InvalidOperationException("skel release");
mr=RobotRaconteur::MessageElement_PackScalarElement<int32_t >("return",ret);
}
catch (std::exception& err2)
{
EndAsyncCallFunction(skel,RR_INTRUSIVE_PTR<RobotRaconteur::MessageElement>(),RobotRaconteur::RobotRaconteurExceptionUtil::ExceptionToSharedPtr(err2, RobotRaconteur::MessageErrorType_DataTypeError),m, ep);
return;
}
EndAsyncCallFunction(skel, mr, err, m,ep);
}
void obj5_skel::RegisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5 >(rrobj1);
RobotRaconteur::ServiceSkel::RegisterEvents(rrobj1);
}

void obj5_skel::UnregisterEvents(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
RobotRaconteur::ServiceSkel::UnregisterEvents(rrobj1);
}

RR_SHARED_PTR<RobotRaconteur::RRObject> obj5_skel::GetSubObj(boost::string_ref name, boost::string_ref ind)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj5_skel::InitPipeServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitPipeServersRun) return;
rr_InitPipeServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5 >(rrobj1);
rr_q1_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<int32_t > >("q1",shared_from_this(),false,RobotRaconteur::MemberDefinition_Direction_readonly);
rr_q2_pipe=RR_MAKE_SHARED<RobotRaconteur::PipeServer<int32_t > >("q2",shared_from_this(),false,RobotRaconteur::MemberDefinition_Direction_readonly);
obj->set_q1(rr_q1_pipe);
obj->set_q2(rr_q2_pipe);
}

void obj5_skel::DispatchPipeMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="q1")
{
rr_q1_pipe->PipePacketReceived(m,e);
return;
}
if (m->MemberName=="q2")
{
rr_q2_pipe->PipePacketReceived(m,e);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallPipeFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="q1")
{
return rr_q1_pipe->PipeCommand(m,e);
}
if (m->MemberName=="q2")
{
return rr_q2_pipe->PipeCommand(m,e);
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj5_skel::InitWireServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& rrobj1)
{
if (rr_InitWireServersRun) return;
rr_InitWireServersRun=true;
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5 >(rrobj1);
rr_w1_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<int32_t > >("w1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
rr_w2_wire=RR_MAKE_SHARED<RobotRaconteur::WireServer<int32_t > >("w2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_readonly);
obj->set_w1(rr_w1_wire);
obj->set_w2(rr_w2_wire);
}

void obj5_skel::DispatchWireMessage(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="w1")
{
rr_w1_wire->WirePacketReceived(m,e);
return;
}
if (m->MemberName=="w2")
{
rr_w2_wire->WirePacketReceived(m,e);
return;
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallWireFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, uint32_t e)
{
if (m->MemberName=="w1")
{
return rr_w1_wire->WireCommand(m,e);
}
if (m->MemberName=="w2")
{
return rr_w2_wire->WireCommand(m,e);
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

void obj5_skel::InitCallbackServers(const RR_SHARED_PTR<RobotRaconteur::RRObject>& o)
{
RR_SHARED_PTR<com::robotraconteur::testing::TestService3::obj5 > obj=RobotRaconteur::rr_cast<com::robotraconteur::testing::TestService3::obj5 >(o);
}
RR_SHARED_PTR<void> obj5_skel::GetCallbackFunction(uint32_t endpoint, boost::string_ref membername)
{
throw RobotRaconteur::MemberNotFoundException("Member not found");
}

RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry> obj5_skel::CallMemoryFunction(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m, const RR_SHARED_PTR<RobotRaconteur::Endpoint>& e)
{
if (m->MemberName=="m1")
{
if (rr_m1_mem==0) rr_m1_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<int32_t > >("m1",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_m1_mem->CallMemoryFunction(m,e,get_obj()->get_m1());
}
if (m->MemberName=="m2")
{
if (rr_m2_mem==0) rr_m2_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<int32_t > >("m2",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_m2_mem->CallMemoryFunction(m,e,get_obj()->get_m2());
}
if (m->MemberName=="m3")
{
if (rr_m3_mem==0) rr_m3_mem=RR_MAKE_SHARED<RobotRaconteur::ArrayMemoryServiceSkel<int32_t > >("m3",shared_from_this(),RobotRaconteur::MemberDefinition_Direction_both);
return rr_m3_mem->CallMemoryFunction(m,e,get_obj()->get_m3());
}
throw RobotRaconteur::MemberNotFoundException("Member not found");
}
bool obj5_skel::IsRequestNoLock(const RR_INTRUSIVE_PTR<RobotRaconteur::MessageEntry>& m)
{
if (m->MemberName == "p2")
  return true;
if (m->MemberName == "p3" && m->EntryType == RobotRaconteur::MessageEntryType_PropertyGetReq)
  return true;
if (m->MemberName == "f2")
  return true;
if (m->MemberName == "q2")
  return true;
if (m->MemberName == "w2")
  return true;
if (m->MemberName == "m2")
  return true;
if (m->MemberName == "m3" && (m->EntryType == RobotRaconteur::MessageEntryType_MemoryRead || m->EntryType == RobotRaconteur::MessageEntryType_MemoryGetParam))
  return true;
return false;
}

testroot3_default_impl::testroot3_default_impl()
{
rrvar_readme=0;
rrvar_writeme=0;
rrvar_unknown_modifier=0;
rrvar_testenum1_prop=testenum1::testenum1();
rrvar_testpod1_prop=testpod1();
rrvar_teststruct3_prop=RR_INTRUSIVE_PTR<teststruct3 >();
rrvar_d1=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >();
rrvar_d2=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >();
rrvar_d3=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >();
rrvar_d4=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >();
rrvar_d5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >();
rrvar_d6=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >();
rrvar_testnamedarray1=vector3();
rrvar_testnamedarray2=transform();
rrvar_testnamedarray3=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >();
rrvar_testnamedarray4=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >();
rrvar_testnamedarray5=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >();
rrvar_c1=RobotRaconteur::cdouble(0.0,0.0);
rrvar_c2=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::cdouble>(0);
rrvar_c3=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::cdouble>(boost::assign::list_of(1)(0));
rrvar_c4=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >();
rrvar_c5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >();
rrvar_c6=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >();
rrvar_c7=RobotRaconteur::cfloat(0.0,0.0);
rrvar_c8=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::cfloat>(0);
rrvar_c9=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::cfloat>(boost::assign::list_of(1)(0));
rrvar_c10=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >();
rrvar_c11=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >();
rrvar_c12=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >();
rrvar_b1=RobotRaconteur::rr_bool(0);
rrvar_b2=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::rr_bool>(0);
rrvar_b3=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::rr_bool>(boost::assign::list_of(1)(0));
rrvar_b4=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >();
rrvar_b5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >();
rrvar_b6=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >();
}
int32_t testroot3_default_impl::get_readme()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_readme;
}
void testroot3_default_impl::set_writeme(int32_t value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_writeme = value;
}
int32_t testroot3_default_impl::get_unknown_modifier()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_unknown_modifier;
}
void testroot3_default_impl::set_unknown_modifier(int32_t value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_unknown_modifier = value;
}
testenum1::testenum1 testroot3_default_impl::get_testenum1_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testenum1_prop;
}
void testroot3_default_impl::set_testenum1_prop(testenum1::testenum1 value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testenum1_prop = value;
}
testpod1 testroot3_default_impl::get_testpod1_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testpod1_prop;
}
void testroot3_default_impl::set_testpod1_prop(const testpod1& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testpod1_prop = value;
}
RR_INTRUSIVE_PTR<teststruct3 > testroot3_default_impl::get_teststruct3_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_teststruct3_prop;
}
void testroot3_default_impl::set_teststruct3_prop(const RR_INTRUSIVE_PTR<teststruct3 >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_teststruct3_prop = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_default_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void testroot3_default_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_default_impl::get_d2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d2;
}
void testroot3_default_impl::set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_default_impl::get_d3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d3;
}
void testroot3_default_impl::set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_default_impl::get_d4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d4;
}
void testroot3_default_impl::set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > testroot3_default_impl::get_d5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d5;
}
void testroot3_default_impl::set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > testroot3_default_impl::get_d6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d6;
}
void testroot3_default_impl::set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d6 = value;
}
vector3 testroot3_default_impl::get_testnamedarray1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray1;
}
void testroot3_default_impl::set_testnamedarray1(const vector3& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray1 = value;
}
transform testroot3_default_impl::get_testnamedarray2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray2;
}
void testroot3_default_impl::set_testnamedarray2(const transform& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > testroot3_default_impl::get_testnamedarray3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray3;
}
void testroot3_default_impl::set_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_default_impl::get_testnamedarray4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray4;
}
void testroot3_default_impl::set_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_default_impl::get_testnamedarray5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray5;
}
void testroot3_default_impl::set_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray5 = value;
}
RobotRaconteur::cdouble testroot3_default_impl::get_c1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c1;
}
void testroot3_default_impl::set_c1(RobotRaconteur::cdouble value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > testroot3_default_impl::get_c2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c2;
}
void testroot3_default_impl::set_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > testroot3_default_impl::get_c3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c3;
}
void testroot3_default_impl::set_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_default_impl::get_c4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c4;
}
void testroot3_default_impl::set_c4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_default_impl::get_c5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c5;
}
void testroot3_default_impl::set_c5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > testroot3_default_impl::get_c6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c6;
}
void testroot3_default_impl::set_c6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c6 = value;
}
RobotRaconteur::cfloat testroot3_default_impl::get_c7()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c7;
}
void testroot3_default_impl::set_c7(RobotRaconteur::cfloat value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c7 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > testroot3_default_impl::get_c8()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c8;
}
void testroot3_default_impl::set_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c8 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > testroot3_default_impl::get_c9()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c9;
}
void testroot3_default_impl::set_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c9 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_default_impl::get_c10()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c10;
}
void testroot3_default_impl::set_c10(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c10 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_default_impl::get_c11()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c11;
}
void testroot3_default_impl::set_c11(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c11 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > testroot3_default_impl::get_c12()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c12;
}
void testroot3_default_impl::set_c12(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c12 = value;
}
RobotRaconteur::rr_bool testroot3_default_impl::get_b1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b1;
}
void testroot3_default_impl::set_b1(RobotRaconteur::rr_bool value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > testroot3_default_impl::get_b2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b2;
}
void testroot3_default_impl::set_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > testroot3_default_impl::get_b3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b3;
}
void testroot3_default_impl::set_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_default_impl::get_b4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b4;
}
void testroot3_default_impl::set_b4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_default_impl::get_b5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b5;
}
void testroot3_default_impl::set_b5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > testroot3_default_impl::get_b6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b6;
}
void testroot3_default_impl::set_b6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b6 = value;
}
void testroot3_default_impl::testpod1_func1(const testpod1& s)
{
throw RobotRaconteur::NotImplementedException("");
}
testpod1 testroot3_default_impl::testpod1_func2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > testroot3_default_impl::gen_func1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > testroot3_default_impl::gen_func2(const std::string& name)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_default_impl::gen_func3(const std::string& name)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_default_impl::gen_func4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > testroot3_default_impl::gen_func5()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::test_exception_params1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::test_exception_params2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > testroot3_default_impl::enum_generator1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > testroot3_default_impl::enum_generator2(int32_t a, int32_t b)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<obj4 > testroot3_default_impl::get_o4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<obj5 > testroot3_default_impl::get_nolock_test()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > testroot3_default_impl::get_unreliable1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_unreliable1) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_unreliable1->GetPipe();
}
void testroot3_default_impl::set_unreliable1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_unreliable1) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_unreliable1 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_unreliable1->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_impl::get_p1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_p1(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_impl::get_p2()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_default_impl::get_p3()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_p3(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_default_impl::get_peekwire()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_peekwire) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_peekwire->GetWire();
}
void testroot3_default_impl::set_peekwire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_peekwire) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_peekwire = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_peekwire->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_default_impl::get_pokewire()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_pokewire) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_pokewire->GetWire();
}
void testroot3_default_impl::set_pokewire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_pokewire) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_pokewire = RR_MAKE_SHARED<RobotRaconteur::WireUnicastReceiver<int32_t > >();
rrvar_pokewire->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_impl::get_w1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_impl::get_w2()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_default_impl::get_w3()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_impl::set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<double > > testroot3_default_impl::get_readmem()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::PodArrayMemory<testpod2 > > testroot3_default_impl::get_pod_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::PodMultiDimArrayMemory<testpod2 > > testroot3_default_impl::get_pod_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::NamedArrayMemory<transform > > testroot3_default_impl::get_namedarray_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::NamedMultiDimArrayMemory<transform > > testroot3_default_impl::get_namedarray_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_default_impl::get_c_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_default_impl::get_c_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_default_impl::get_c_m3()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_default_impl::get_c_m4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::rr_bool > > testroot3_default_impl::get_c_m5()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::rr_bool > > testroot3_default_impl::get_c_m6()
{
throw RobotRaconteur::NotImplementedException("");
}
obj1_default_impl::obj1_default_impl()
{
rrvar_d1=RobotRaconteur::AllocateEmptyRRArray<double>(0);
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj1_default_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void obj1_default_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
obj2_default_impl::obj2_default_impl()
{
rrvar_d1=RobotRaconteur::AllocateEmptyRRArray<double>(0);
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj2_default_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void obj2_default_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
obj3_default_impl::obj3_default_impl()
{
rrvar_d1=RobotRaconteur::AllocateEmptyRRArray<double>(0);
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj3_default_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void obj3_default_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
obj4_default_impl::obj4_default_impl()
{
rrvar_s_ind="";
rrvar_i_ind=0;
rrvar_data="";
}
std::string obj4_default_impl::get_s_ind()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_s_ind;
}
void obj4_default_impl::set_s_ind(const std::string& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_s_ind = value;
}
int32_t obj4_default_impl::get_i_ind()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_i_ind;
}
void obj4_default_impl::set_i_ind(int32_t value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_i_ind = value;
}
std::string obj4_default_impl::get_data()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_data;
}
void obj4_default_impl::set_data(const std::string& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_data = value;
}
RR_SHARED_PTR<com::robotraconteur::testing::TestService1::sub3 > obj4_default_impl::get_o3_1(const std::string& ind)
{
throw RobotRaconteur::NotImplementedException("");
}
obj5_default_impl::obj5_default_impl()
{
rrvar_p1=0.0;
rrvar_p2=0.0;
rrvar_p3=0.0;
}
double obj5_default_impl::get_p1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p1;
}
void obj5_default_impl::set_p1(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p1 = value;
}
double obj5_default_impl::get_p2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p2;
}
void obj5_default_impl::set_p2(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p2 = value;
}
double obj5_default_impl::get_p3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p3;
}
void obj5_default_impl::set_p3(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p3 = value;
}
int32_t obj5_default_impl::f1()
{
throw RobotRaconteur::NotImplementedException("");
}
int32_t obj5_default_impl::f2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_default_impl::get_q1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_q1) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_q1->GetPipe();
}
void obj5_default_impl::set_q1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_q1) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_q1 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_q1->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_default_impl::get_q2()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_q2) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_q2->GetPipe();
}
void obj5_default_impl::set_q2(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_q2) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_q2 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_q2->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_default_impl::get_w1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_w1) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_w1->GetWire();
}
void obj5_default_impl::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_w1) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_w1 = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_w1->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_default_impl::get_w2()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_w2) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_w2->GetWire();
}
void obj5_default_impl::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_w2) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_w2 = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_w2->Init(value);}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_impl::get_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_impl::get_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_impl::get_m3()
{
throw RobotRaconteur::NotImplementedException("");
}

testroot3_default_abstract_impl::testroot3_default_abstract_impl()
{
rrvar_readme=0;
rrvar_writeme=0;
rrvar_unknown_modifier=0;
rrvar_testenum1_prop=testenum1::testenum1();
rrvar_testpod1_prop=testpod1();
rrvar_teststruct3_prop=RR_INTRUSIVE_PTR<teststruct3 >();
rrvar_d1=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >();
rrvar_d2=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >();
rrvar_d3=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >();
rrvar_d4=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >();
rrvar_d5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >();
rrvar_d6=RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >();
rrvar_testnamedarray1=vector3();
rrvar_testnamedarray2=transform();
rrvar_testnamedarray3=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >();
rrvar_testnamedarray4=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >();
rrvar_testnamedarray5=RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >();
rrvar_c1=RobotRaconteur::cdouble(0.0,0.0);
rrvar_c2=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::cdouble>(0);
rrvar_c3=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::cdouble>(boost::assign::list_of(1)(0));
rrvar_c4=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >();
rrvar_c5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >();
rrvar_c6=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >();
rrvar_c7=RobotRaconteur::cfloat(0.0,0.0);
rrvar_c8=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::cfloat>(0);
rrvar_c9=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::cfloat>(boost::assign::list_of(1)(0));
rrvar_c10=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >();
rrvar_c11=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >();
rrvar_c12=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >();
rrvar_b1=RobotRaconteur::rr_bool(0);
rrvar_b2=RobotRaconteur::AllocateEmptyRRArray<RobotRaconteur::rr_bool>(0);
rrvar_b3=RobotRaconteur::AllocateEmptyRRMultiDimArray<RobotRaconteur::rr_bool>(boost::assign::list_of(1)(0));
rrvar_b4=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >();
rrvar_b5=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >();
rrvar_b6=RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >();
}
int32_t testroot3_default_abstract_impl::get_readme()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_readme;
}
void testroot3_default_abstract_impl::set_writeme(int32_t value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_writeme = value;
}
int32_t testroot3_default_abstract_impl::get_unknown_modifier()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_unknown_modifier;
}
void testroot3_default_abstract_impl::set_unknown_modifier(int32_t value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_unknown_modifier = value;
}
testenum1::testenum1 testroot3_default_abstract_impl::get_testenum1_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testenum1_prop;
}
void testroot3_default_abstract_impl::set_testenum1_prop(testenum1::testenum1 value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testenum1_prop = value;
}
testpod1 testroot3_default_abstract_impl::get_testpod1_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testpod1_prop;
}
void testroot3_default_abstract_impl::set_testpod1_prop(const testpod1& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testpod1_prop = value;
}
RR_INTRUSIVE_PTR<teststruct3 > testroot3_default_abstract_impl::get_teststruct3_prop()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_teststruct3_prop;
}
void testroot3_default_abstract_impl::set_teststruct3_prop(const RR_INTRUSIVE_PTR<teststruct3 >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_teststruct3_prop = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_default_abstract_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void testroot3_default_abstract_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > > testroot3_default_abstract_impl::get_d2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d2;
}
void testroot3_default_abstract_impl::set_d2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_default_abstract_impl::get_d3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d3;
}
void testroot3_default_abstract_impl::set_d3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > > testroot3_default_abstract_impl::get_d4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d4;
}
void testroot3_default_abstract_impl::set_d4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > > testroot3_default_abstract_impl::get_d5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d5;
}
void testroot3_default_abstract_impl::set_d5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > > testroot3_default_abstract_impl::get_d6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d6;
}
void testroot3_default_abstract_impl::set_d6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMap<int32_t,RobotRaconteur::RRMultiDimArray<double >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d6 = value;
}
vector3 testroot3_default_abstract_impl::get_testnamedarray1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray1;
}
void testroot3_default_abstract_impl::set_testnamedarray1(const vector3& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray1 = value;
}
transform testroot3_default_abstract_impl::get_testnamedarray2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray2;
}
void testroot3_default_abstract_impl::set_testnamedarray2(const transform& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> > testroot3_default_abstract_impl::get_testnamedarray3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray3;
}
void testroot3_default_abstract_impl::set_testnamedarray3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_default_abstract_impl::get_testnamedarray4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray4;
}
void testroot3_default_abstract_impl::set_testnamedarray4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> > testroot3_default_abstract_impl::get_testnamedarray5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_testnamedarray5;
}
void testroot3_default_abstract_impl::set_testnamedarray5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRNamedMultiDimArray<transform> >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_testnamedarray5 = value;
}
RobotRaconteur::cdouble testroot3_default_abstract_impl::get_c1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c1;
}
void testroot3_default_abstract_impl::set_c1(RobotRaconteur::cdouble value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c2;
}
void testroot3_default_abstract_impl::set_c2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cdouble > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c3;
}
void testroot3_default_abstract_impl::set_c3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_default_abstract_impl::get_c4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c4;
}
void testroot3_default_abstract_impl::set_c4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > > testroot3_default_abstract_impl::get_c5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c5;
}
void testroot3_default_abstract_impl::set_c5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > > testroot3_default_abstract_impl::get_c6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c6;
}
void testroot3_default_abstract_impl::set_c6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cdouble >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c6 = value;
}
RobotRaconteur::cfloat testroot3_default_abstract_impl::get_c7()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c7;
}
void testroot3_default_abstract_impl::set_c7(RobotRaconteur::cfloat value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c7 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > > testroot3_default_abstract_impl::get_c8()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c8;
}
void testroot3_default_abstract_impl::set_c8(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::cfloat > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c8 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > > testroot3_default_abstract_impl::get_c9()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c9;
}
void testroot3_default_abstract_impl::set_c9(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c9 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_default_abstract_impl::get_c10()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c10;
}
void testroot3_default_abstract_impl::set_c10(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c10 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > > testroot3_default_abstract_impl::get_c11()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c11;
}
void testroot3_default_abstract_impl::set_c11(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c11 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > > testroot3_default_abstract_impl::get_c12()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_c12;
}
void testroot3_default_abstract_impl::set_c12(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::cfloat >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_c12 = value;
}
RobotRaconteur::rr_bool testroot3_default_abstract_impl::get_b1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b1;
}
void testroot3_default_abstract_impl::set_b1(RobotRaconteur::rr_bool value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b1 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > > testroot3_default_abstract_impl::get_b2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b2;
}
void testroot3_default_abstract_impl::set_b2(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<RobotRaconteur::rr_bool > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b2 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > > testroot3_default_abstract_impl::get_b3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b3;
}
void testroot3_default_abstract_impl::set_b3(const RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b3 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_default_abstract_impl::get_b4()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b4;
}
void testroot3_default_abstract_impl::set_b4(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b4 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > > testroot3_default_abstract_impl::get_b5()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b5;
}
void testroot3_default_abstract_impl::set_b5(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b5 = value;
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > > testroot3_default_abstract_impl::get_b6()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_b6;
}
void testroot3_default_abstract_impl::set_b6(const RR_INTRUSIVE_PTR<RobotRaconteur::RRList<RobotRaconteur::RRMultiDimArray<RobotRaconteur::rr_bool >  > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_b6 = value;
}
void testroot3_default_abstract_impl::testpod1_func1(const testpod1& s)
{
throw RobotRaconteur::NotImplementedException("");
}
testpod1 testroot3_default_abstract_impl::testpod1_func2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<double,void > > testroot3_default_abstract_impl::gen_func1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,void > > testroot3_default_abstract_impl::gen_func2(const std::string& name)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<void,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_default_abstract_impl::gen_func3(const std::string& name)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > >,RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<uint8_t > > > > testroot3_default_abstract_impl::gen_func4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 >,RR_INTRUSIVE_PTR<com::robotraconteur::testing::TestService1::teststruct2 > > > testroot3_default_abstract_impl::gen_func5()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::test_exception_params1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::test_exception_params2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,void > > testroot3_default_abstract_impl::enum_generator1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Generator<testenum1::testenum1,testenum1::testenum1 > > testroot3_default_abstract_impl::enum_generator2(int32_t a, int32_t b)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<obj4 > testroot3_default_abstract_impl::get_o4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<obj5 > testroot3_default_abstract_impl::get_nolock_test()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > testroot3_default_abstract_impl::get_unreliable1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_unreliable1) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_unreliable1->GetPipe();
}
void testroot3_default_abstract_impl::set_unreliable1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_unreliable1) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_unreliable1 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_unreliable1->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_abstract_impl::get_p1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_p1(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_abstract_impl::get_p2()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_p2(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_default_abstract_impl::get_p3()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_p3(const RR_SHARED_PTR<RobotRaconteur::Pipe<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_default_abstract_impl::get_peekwire()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_peekwire) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_peekwire->GetWire();
}
void testroot3_default_abstract_impl::set_peekwire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_peekwire) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_peekwire = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_peekwire->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > testroot3_default_abstract_impl::get_pokewire()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_pokewire) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_pokewire->GetWire();
}
void testroot3_default_abstract_impl::set_pokewire(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_pokewire) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_pokewire = RR_MAKE_SHARED<RobotRaconteur::WireUnicastReceiver<int32_t > >();
rrvar_pokewire->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_abstract_impl::get_w1()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > > testroot3_default_abstract_impl::get_w2()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > > testroot3_default_abstract_impl::get_w3()
{
throw RobotRaconteur::NotImplementedException("");
}
void testroot3_default_abstract_impl::set_w3(const RR_SHARED_PTR<RobotRaconteur::Wire<RR_INTRUSIVE_PTR<RobotRaconteur::RRMultiDimArray<int32_t > > > >& value)
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<double > > testroot3_default_abstract_impl::get_readmem()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::PodArrayMemory<testpod2 > > testroot3_default_abstract_impl::get_pod_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::PodMultiDimArrayMemory<testpod2 > > testroot3_default_abstract_impl::get_pod_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::NamedArrayMemory<transform > > testroot3_default_abstract_impl::get_namedarray_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::NamedMultiDimArrayMemory<transform > > testroot3_default_abstract_impl::get_namedarray_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c_m3()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::cdouble > > testroot3_default_abstract_impl::get_c_m4()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<RobotRaconteur::rr_bool > > testroot3_default_abstract_impl::get_c_m5()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::MultiDimArrayMemory<RobotRaconteur::rr_bool > > testroot3_default_abstract_impl::get_c_m6()
{
throw RobotRaconteur::NotImplementedException("");
}
obj1_default_abstract_impl::obj1_default_abstract_impl()
{
rrvar_d1=RobotRaconteur::AllocateEmptyRRArray<double>(0);
}
RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > > obj1_default_abstract_impl::get_d1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_d1;
}
void obj1_default_abstract_impl::set_d1(const RR_INTRUSIVE_PTR<RobotRaconteur::RRArray<double > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_d1 = value;
}
obj2_default_abstract_impl::obj2_default_abstract_impl()
{
}
obj3_default_abstract_impl::obj3_default_abstract_impl()
{
}
obj4_default_abstract_impl::obj4_default_abstract_impl()
{
}
obj5_default_abstract_impl::obj5_default_abstract_impl()
{
rrvar_p1=0.0;
rrvar_p2=0.0;
rrvar_p3=0.0;
}
double obj5_default_abstract_impl::get_p1()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p1;
}
void obj5_default_abstract_impl::set_p1(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p1 = value;
}
double obj5_default_abstract_impl::get_p2()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p2;
}
void obj5_default_abstract_impl::set_p2(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p2 = value;
}
double obj5_default_abstract_impl::get_p3()
{
boost::mutex::scoped_lock lock(this_lock);
return rrvar_p3;
}
void obj5_default_abstract_impl::set_p3(double value)
{
boost::mutex::scoped_lock lock(this_lock);
rrvar_p3 = value;
}
int32_t obj5_default_abstract_impl::f1()
{
throw RobotRaconteur::NotImplementedException("");
}
int32_t obj5_default_abstract_impl::f2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_default_abstract_impl::get_q1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_q1) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_q1->GetPipe();
}
void obj5_default_abstract_impl::set_q1(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_q1) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_q1 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_q1->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > > obj5_default_abstract_impl::get_q2()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_q2) throw RobotRaconteur::InvalidOperationException("Pipe not set");
return rrvar_q2->GetPipe();
}
void obj5_default_abstract_impl::set_q2(const RR_SHARED_PTR<RobotRaconteur::Pipe<int32_t > >& value)
{
boost::mutex::scoped_lock lock(this_lock);
if (rrvar_q2) throw RobotRaconteur::InvalidOperationException("Pipe already set");
rrvar_q2 = RR_MAKE_SHARED<RobotRaconteur::PipeBroadcaster<int32_t > >();
rrvar_q2->Init(value);
}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_default_abstract_impl::get_w1()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_w1) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_w1->GetWire();
}
void obj5_default_abstract_impl::set_w1(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_w1) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_w1 = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_w1->Init(value);}
RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > > obj5_default_abstract_impl::get_w2()
{
boost::mutex::scoped_lock lock(this_lock);
if (!rrvar_w2) throw RobotRaconteur::InvalidOperationException("Wire not set");
return rrvar_w2->GetWire();
}
void obj5_default_abstract_impl::set_w2(const RR_SHARED_PTR<RobotRaconteur::Wire<int32_t > >& value)
{
if (rrvar_w2) throw RobotRaconteur::InvalidOperationException("Wire already set");
rrvar_w2 = RR_MAKE_SHARED<RobotRaconteur::WireBroadcaster<int32_t > >();
rrvar_w2->Init(value);}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_abstract_impl::get_m1()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_abstract_impl::get_m2()
{
throw RobotRaconteur::NotImplementedException("");
}
RR_SHARED_PTR<RobotRaconteur::ArrayMemory<int32_t > > obj5_default_abstract_impl::get_m3()
{
throw RobotRaconteur::NotImplementedException("");
}

}
}
}
}
// NOLINTEND

