/* static */ void MessageBox::set_themed_icons(const char* msg, const char* alert, const char* ask, const char* input, const char* password) { edelib_strlcpy(msg_icon, msg, BUF_LEN); edelib_strlcpy(alert_icon, alert, BUF_LEN); edelib_strlcpy(ask_icon, ask, BUF_LEN); edelib_strlcpy(input_icon, input, BUF_LEN); edelib_strlcpy(passwd_icon, password, BUF_LEN); }
bool Entity::get_prototype_as_scheme(char *buf, int bufsz) { E_RETURN_VAL_IF_FAIL(name != NULL, false); E_RETURN_VAL_IF_FAIL(tp != ENTITY_NONE, false); String ret; if(tp == ENTITY_SIGNAL) { ret.printf("(dbus-signal \"%s\" \"%s\" \"%s\"", get_path(), get_interface(), get_name()); if(args.empty()) { ret += ")"; } else { String scm_params; signature_to_scheme(args, scm_params); if(!scm_params.empty()) { ret += ' '; ret += scm_params; } ret += ')'; } } else if(tp == ENTITY_METHOD) { ret.printf("(dbus-call \"%s\" \"%s\" \"%s\" \"%s\"", get_service(), get_path(), get_interface(), get_name()); if(args.empty()) ret += ")"; else { String scm_params; signature_to_scheme(args, scm_params); if(!scm_params.empty()) { ret += ' '; ret += scm_params; } ret += ')'; } } else { /* property */ ret.printf("(dbus-property-get \"%s\" \"%s\" \"%s\" \"%s\")", get_service(), get_path(), get_interface(), get_name()); } if(!ret.empty()) { edelib_strlcpy(buf, ret.c_str(), bufsz); return true; } return false; }
bool Entity::get_prototype(char *buf, int bufsz) { E_RETURN_VAL_IF_FAIL(name != NULL, false); E_RETURN_VAL_IF_FAIL(tp != ENTITY_NONE, false); String ret; if(args.empty()) { ret = "void "; ret += name; ret += " ()"; } else { if(tp == ENTITY_PROPERTY) { /* we should only get single argument */ if(args.size() != 1) { E_WARNING(E_STRLOC ": Property should have only one type, but got '%i'. Using first one only...\n", args.size()); } else { ArgSignatureListIt it = args.begin(); signature_to_readable((*it)->sig, ret); ret += ' '; ret += name; /* write kind of access */ if((*it)->access) { ret += " access: "; ret += (*it)->access; } } } else { ArgSignatureListIt it = args.begin(), ite = args.end(); /* default */ ret = "void"; /* return type */ for(; it != ite; ++it) { if((*it)->direction == DIRECTION_OUT) { signature_to_readable((*it)->sig, ret); break; } } /* name */ ret += ' '; ret += name; /* arguments */ ret += "("; String tmp; bool have_something = false; for(it = args.begin(); it != ite; ++it) { /* AFAIK only 'direction=out' is explicitly set */ if((*it)->direction != DIRECTION_OUT) { /* so we can correctly watch adding commas */ if(have_something) ret += ", "; signature_to_readable((*it)->sig, tmp); ret += tmp; ret += ' '; ret += (*it)->name; have_something = true; } } ret += ')'; } } if(!ret.empty()) { /* append documentation if have */ if(get_doc()) { ret += "\n"; ret += get_doc(); } edelib_strlcpy(buf, ret.c_str(), bufsz); return true; } return false; }