#include #include #include #include #include "qrtclient.hxx" namespace RTClient { Client::Client(char const* url, char const* certificate) { rtclient_init(url, certificate); } void Client::logIn(QString const& name, QString const& password) { rtclient_login(name.toLatin1().constData(), password.toLatin1().constData()); emit loggedIn(name); } void Client::userNew(QString const& name, QString const& password, QString const& emailAddress, QString const& realName, QString const& nickName, QString const& organization, QString const& address1, QString const& address2, QString const& city, QString const& state, QString const& zip, QString const& country, QString const& homePhone, QString const& workPhone, QString const& mobilePhone, QString const& pagerPhone, QString const& contactInfo, QString const& comments, QString const& signature, QString const& gecos, rtclient_user_lang lang, rtclient_user_timezone timezone, bool disabled, bool privileged) { rtclient_user_new(name.toLatin1().constData(), password.toLatin1().constData(), emailAddress.toLatin1().constData(), realName.toLatin1().constData(), nickName.toLatin1().constData(), organization.toLatin1().constData(), address1.toLatin1().constData(), address2.toLatin1().constData(), city.toLatin1().constData(), state.toLatin1().constData(), zip.toLatin1().constData(), country.toLatin1().constData(), homePhone.toLatin1().constData(), workPhone.toLatin1().constData(), mobilePhone.toLatin1().constData(), pagerPhone.toLatin1().constData(), contactInfo.toLatin1().constData(), comments.toLatin1().constData(), signature.toLatin1().constData(), gecos.toLatin1().constData(), lang, timezone, disabled, privileged); } void Client::userShow(unsigned int id) { rtclient_user* user = nullptr; rtclient_user_showid(&user, id); emit userShown(user); } void Client::userShow(QString const& name) { rtclient_user* user = nullptr; rtclient_user_showname(&user, name.toLatin1().constData()); emit userShown(user); } void Client::ticketNew(QString const& queue, QString const& requestor, QString const& subject, QString const& cc, QString const& adminCc, QString const& owner, QString const& status, QString const& priority, QString const& initialPriority, QString const& finalPriority, QString const& timeEstimated, QString const& starts, QString const& due, QString const& text) { rtclient_ticket_new(queue.toLatin1().constData(), requestor.toLatin1().constData(), subject.toLatin1().constData(), cc.toLatin1().constData(), adminCc.toLatin1().constData(), owner.toLatin1().constData(), status.toLatin1().constData(), priority.toLatin1().constData(), initialPriority.toLatin1().constData(), finalPriority.toLatin1().constData(), timeEstimated.toLatin1().constData(), starts.toLatin1().constData(), due.toLatin1().constData(), text.toLatin1().constData()); } void Client::searchTicket(QString const& owner) { QString query{"Owner='" % owner % "'"}; rtclient_search_ticket_list* list = nullptr; rtclient_search_ticket(&list, query.toLatin1().constData()); emit searchedTicket(list); } void Client::ticketHistory(int id, bool longFormat) { rtclient_ticket_history_list* historyList = nullptr; rtclient_ticket_history(&historyList, id, longFormat); emit gotTicketHistory(historyList); } Client::~Client() { rtclient_cleanup(); } }