Next: LObject Reference, Previous: LObject Overview, Up: LObject
An object derived from LObject must define its own
self_pack,
self_unpack, and self_name functions. Here is how
they are defined for RString:
void self_pack(LO_Packer &w)
{
const int32_t len = s ? occ + 1 : 0;
w << len;
if( len > 0 ) w.write_array_wo_length(s,len);
}
void self_unpack(LO_Packer &r)
{
assign_take(NULL);
int32_t len = r;
if( !len ) return;
s = (char*) malloc(len);
r.read_array_wo_length(s,len);
occ = size = len - 1;
}
char* self_name(){ return "RString"; }