The following piece of code shows how the string_scalar
attribute of the Tango test server is written and read.
The Tango test server has to run for the device sys/tg_test/1
.
#include <tango.h> using namespace Tango; main(unsigned int argc, char **argv) { string attrName = "string_scalar"; string str = "hello3"; string str_out; DeviceProxy *device = new DeviceProxy( "//has107k:10000/sys/tg_test/1"); DeviceAttribute *da = new DeviceAttribute( attrName, str); try { device->write_attribute( *da); } catch ( Tango::DevFailed &e) { fprintf( stderr, "TangoTest, DevFailed exception \n attr: %s\n", attrName.c_str()); fprintf( stderr, " reason: %s \n desc: %s \n origin: %s \n", e.errors[0].reason.in(), e.errors[0].desc.in(), e.errors[0].origin.in()); } DeviceAttribute dd = device->read_attribute( attrName); dd >> str_out; cout << " received " << str_out << endl; }