Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Note note = noteStore.getNote(authToken, guid, false, false, false, false);
note.setUpdated(note.getCreated());
noteStore.updateNote(authToken, note);
note.setUpdated(note.getCreated() + 1000);
Библиотека под c++03.
«Сейчас все адекватные компиляторы уже умеют c++11 в достаточной степени» — это если не поминать MSVC незлым тихим словом.
NoteStore *ns = ...;
Note note = ...;
connect(ns->createNote(note), &CreateNote::finished, [] (const EverCloudException &error) {
if (error)
qWarning() << error.toString();
});
ns->createNote(note); ns->createNote(note); ns->createNote(note);
Т.е. претензии собственно к синхронности, а не к конкретно ее реализации через QEventLoop.
«Заморозку» интерфейса можно решить многопоточностью.
Как общаться с тем потоком из гуя? Все равно придется городить асинхронное API, т.е. опять приходим к начальной проблеме
Многопоточность — это накладные расходы, лишняя память, лишние context switch'и. Асинхронное API, основанное на event loop почти всегда быстрее.
QEverCloud: Evernote SDK для Qt