void KfmIpc::list(const char* _url) { int len = 0; len += len_string( _url ); len += len_string("list"); write_int( sock->socket(), len ); write_string( sock->socket(), "list" ); write_string( sock->socket(), _url ); }
void KfmIpc::refreshDirectory(const char* _url) { int len = 0; len += len_string( _url ); len += len_string("refreshDirectory"); write_int( sock->socket(), len ); write_string( sock->socket(), "refreshDirectory" ); write_string( sock->socket(), _url ); }
void KfmIpc::openProperties(const char* _url) { int len = 0; len += len_string( _url ); len += len_string("openProperties"); write_int( sock->socket(), len ); write_string( sock->socket(), "openProperties" ); write_string( sock->socket(), _url ); }
void KfmIpc::auth(const char* _password) { int len = 0; len += len_string( _password ); len += len_string("auth"); write_int( sock->socket(), len ); write_string( sock->socket(), "auth" ); write_string( sock->socket(), _password ); }
void KfmIpc::move(const char* _src, const char* _dest) { int len = 0; len += len_string( _src ); len += len_string( _dest ); len += len_string("move"); write_int( sock->socket(), len ); write_string( sock->socket(), "move" ); write_string( sock->socket(), _src ); write_string( sock->socket(), _dest ); }
void KfmIpc::exec(const char* _url, const char* _binding) { int len = 0; len += len_string( _url ); len += len_string( _binding ); len += len_string("exec"); write_int( sock->socket(), len ); write_string( sock->socket(), "exec" ); write_string( sock->socket(), _url ); write_string( sock->socket(), _binding ); }
void KfmIpc::copyClient(const char* _src, const char* _dest) { int len = 0; len += len_string( _src ); len += len_string( _dest ); len += len_string("copyClient"); write_int( sock->socket(), len ); write_string( sock->socket(), "copyClient" ); write_string( sock->socket(), _src ); write_string( sock->socket(), _dest ); }
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 KfmIpc::refreshDesktop() { int len = 0; len += len_string("refreshDesktop"); write_int( sock->socket(), len ); write_string( sock->socket(), "refreshDesktop" ); }
void KfmIpc::configure() { int len = 0; len += len_string("configure"); write_int( sock->socket(), len ); write_string( sock->socket(), "configure" ); }
void KfmIpc::sortDesktop() { int len = 0; len += len_string("sortDesktop"); write_int( sock->socket(), len ); write_string( sock->socket(), "sortDesktop" ); }
void KfmServIpc::finished() { int len = 0; len += len_string("finished"); write_int( data_sock->socket(), len ); write_string( data_sock->socket(), "finished" ); }
int len_stringList( stringList *_list ) { int len = sizeof(int); for( int i = 0; i < _list->elements; i++ ) { len += len_string( _list->list[i] ); } return 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 ); }
// parse byte_run tag for possible file_offset or len attributes static void parse_byte_run_attributes(user_data_t& user_data, const xmlChar** attributes) { user_data.has_byte_run_file_offset_attribute = false; user_data.has_byte_run_len_attribute = false; if (attributes == NULL) { // no attributes return; } // parse attributes int i=0; while (true) { if (attributes[i] == NULL || attributes[i+1] == NULL) { // done return; } if (xmlStrEqual(attributes[i], reinterpret_cast<const xmlChar*>("file_offset"))) { std::string file_offset_string((const char*)attributes[i+1]); try { user_data.byte_run_file_offset_attribute = boost::lexical_cast<uint64_t>(file_offset_string); user_data.has_byte_run_file_offset_attribute = true; } catch(...) { // abort std::cerr << "dfxml_hashdigest_reader_t::on_start_element(): invalid byte_run file_offset attribute: '" << file_offset_string << "'\n"; return; } } else if (xmlStrEqual(attributes[i], reinterpret_cast<const xmlChar*>("len"))) { std::string len_string((const char*)attributes[i+1]); try { user_data.byte_run_len_attribute = boost::lexical_cast<size_t>(len_string); user_data.has_byte_run_len_attribute = true; } catch(...) { // abort std::cerr << "dfxml_hashdigest_reader_t::on_start_element(): invalid byte_run len attribute: '" << len_string << "'\n"; return; } } i += 2; } }
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 ); }