7#ifndef YARP2_WIREBOTTLE
8#define YARP2_WIREBOTTLE
21 size_t payload_index, payload_offset;
25 this->delegate = delegate;
26 payload_index = index;
27 payload_offset = offset;
31 return delegate->
length()-payload_index;
38 size_t length(
size_t index)
const override {
39 index += payload_index;
40 if (index == payload_index) {
41 return delegate->
length(index) - payload_offset;
43 return delegate->
length(index);
46 const char *
data(
size_t index)
const override {
47 index += payload_index;
48 if (index == payload_index) {
49 return delegate->
data(index) + payload_offset;
51 return delegate->
data(index);
static char * checkBottle(char *cursor, int &remaining, int ct, int list_tag)
Interface implemented by all objects that can read themselves from the network, such as Bottle object...
This is a base class for objects that can be both read from and be written to the YARP network.
Minimal requirements for an efficient Writer.
virtual Portable * getReference()=0
virtual const char * data(size_t index) const =0
virtual size_t length() const =0
virtual PortReader * getReplyHandler()=0
size_t headerLength() const override
size_t length(size_t index) const override
yarp::os::Portable * getReference() override
void stopWrite() const override
Call when all writing is finished.
size_t length() const override
void startWrite() const override
Call when writing is about to begin.
bool dropRequested() override
const char * data(size_t index) const override
yarp::os::PortReader * getReplyHandler() override
void setDelegate(yarp::os::SizedWriter *delegate, int index, int offset)
#define YARP_wire_rep_utils_API