size_t length_integer (const int *data) { size_t len = len_int (*data); return 1 + length_len(len) + len; }
int len_mem( IPCMemory _mem ) { if ( _mem.data == 0L ) // The '-1' takes 2 characters + 1 space return 3; return _mem.size + len_int( _mem.size ); }
size_t length_enumerated (const unsigned *data) { size_t len = len_int (*data); return 1 + length_len(len) + len; }
int len_string( const char *_str ) { if ( _str == 0L ) // The '-1' takes 2 characters + 1 space return 3; int len = strlen( _str ); return len + len_int( len ); }
void KfmIpc::selectRootIcons(int _x, int _y, int _w, int _h, bool _add) { int len = 0; len += len_int( _x ); len += len_int( _y ); len += len_int( _w ); len += len_int( _h ); len += len_bool( _add ); len += len_string("selectRootIcons"); write_int( sock->socket(), len ); write_string( sock->socket(), "selectRootIcons" ); write_int( sock->socket(), _x ); write_int( sock->socket(), _y ); write_int( sock->socket(), _w ); write_int( sock->socket(), _h ); write_bool( sock->socket(), _add ); }
void KfmServIpc::error(int _kerror, const char* _text) { int len = 0; len += len_int( _kerror ); len += len_string( _text ); len += len_string("error"); write_int( data_sock->socket(), len ); write_string( data_sock->socket(), "error" ); write_int( data_sock->socket(), _kerror ); write_string( data_sock->socket(), _text ); }
void KfmServIpc::dirEntry(const char* _name, const char* _access, const char* _owner, const char* _group, const char* _date, int _size) { int len = 0; len += len_string( _name ); len += len_string( _access ); len += len_string( _owner ); len += len_string( _group ); len += len_string( _date ); len += len_int( _size ); len += len_string("dirEntry"); write_int( data_sock->socket(), len ); write_string( data_sock->socket(), "dirEntry" ); write_string( data_sock->socket(), _name ); write_string( data_sock->socket(), _access ); write_string( data_sock->socket(), _owner ); write_string( data_sock->socket(), _group ); write_string( data_sock->socket(), _date ); write_int( data_sock->socket(), _size ); }