General observation first: this is a synchronous interface.
KDE's data access API for example is asynchronous, so in order to make this truely synchronous you will have to create a secondard thread that works with the asynchronous API and block the calling thread until the secondary thread has finished. On Tuesday, 2013-06-18, Pali Rohár wrote: > /** @short Returns a list of matching contacts in the form "[Name > <]a...@mail.com[>]" * The classs should probably have a static method for formatting name + address to avoid having to re-implement that in every implementation of the interface. Unless of course you already have such a helper function somewhere :) > virtual QStringList complete(const QString &string, const QStringList > &ignores, int max = -1) const = 0; "string" is a bad argument name in C++ since there is std::string. If anyone ever write something like using namespace std; before including this header, then "string" will become a type. Not likely in a Qt context, but not impossible. I would suggest "input" instead. > virtual void openAddressbookWindow() const = 0; > virtual void openEditContactWindow(const QString > &mail = QString(), const QString &name = QString()) const = 0; In case these two are intended to be slots I would discard the const. Cheers, Kevin -- Kevin Krammer, KDE developer, xdg-utils developer KDE user support, developer mentoring
signature.asc
Description: This is a digitally signed message part.