<div dir="ltr">The likipi API has new pure virtual method to re-implement in KIPI interface :<div><br></div><div><a href="https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L495">https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L495</a><br></div><div><br></div><div>this was previously not pure but the feedback for user report some race conditions when files in collection are changed by a kipi tool. So this method indicate that file must be locked in kipi host while kipi operations.</div><div><br></div><div><a href="https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L503">https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L503</a><br></div><div><br></div><div>This one is to pass to kipi tool an instance of Raw Processor. Re-implementing this class using libkdcraw API is the most simpler way (just use KDCraw API as well). This take few line of code. This container exist because the raw decoding setting is now passed from kipi host to plugin. On place from the settings in kipi host shared through libkipi.</div><div><br></div><div>You can use another Raw processor in kipi host course. In digiKam we have more than one now.</div><div><br></div><div><a href="https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L511">https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi/repository/revisions/master/entry/src/interface.h#L511</a><br></div><div><br></div><div>As RawProcessor, the MetadataProcessor instance must be created in kipi host and passed to plugin. All the Metadata processor settings are hosted in single place to kipi host and shared with the tools. To re-implement this class, use libkexiv2 API as well.</div><div><br></div><div>For details, just look how i re-implemented these classes in digiKam kipi interface :</div><div><br></div><div><a href="https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/kdesupport/kipi/kipiinterface.cpp">https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/kdesupport/kipi/kipiinterface.cpp</a><br></div><div><br></div><div>Voilà</div><div><br></div><div>Gilles Caulier</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-25 2:06 GMT+02:00 Christoph Feck <span dir="ltr"><<a href="mailto:cfeck@kde.org" target="_blank">cfeck@kde.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
trying to compile today's gwenview/master with libkipi/master, I got<br>
this error. I don't know if it's planned to release the Qt5 version of<br>
libkipi with KDE Applications 15.12, but if it is, we need to have a<br>
working and stable API.<br>
<br>
Christoph Feck<br>
KDE Quality Team<br>
<br>
Building CXX object app/CMakeFiles/gwenview.dir/mainwindow.cpp.o<br>
/local/git/KDE/graphics/gwenview/app/mainwindow.cpp: In constructor<br>
'Gwenview::MainWindow::MainWindow()':<br>
/local/git/KDE/graphics/gwenview/app/mainwindow.cpp:793:47: error:<br>
cannot allocate an object of abstract type 'Gwenview::KIPIInterface'<br>
d->mKIPIInterface = new KIPIInterface(this);<br>
^<br>
In file included from<br>
/local/git/KDE/graphics/gwenview/app/mainwindow.cpp:67:0:<br>
/local/git/KDE/graphics/gwenview/app/kipiinterface.h:39:7: note:<br>
because the following virtual functions are pure within<br>
'Gwenview::KIPIInterface':<br>
class KIPIInterface : public KIPI::Interface<br>
^<br>
make[2]: *** [app/CMakeFiles/gwenview.dir/mainwindow.cpp.o] Error 1<br>
make[2]: Target `app/CMakeFiles/gwenview.dir/build' not remade because<br>
of errors.<br>
make[1]: *** [app/CMakeFiles/gwenview.dir/all] Error 2<br>
_______________________________________________<br>
Kde-imaging mailing list<br>
<a href="mailto:Kde-imaging@kde.org">Kde-imaging@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-imaging" rel="noreferrer" target="_blank">https://mail.kde.org/mailman/listinfo/kde-imaging</a><br>
</blockquote></div><br></div>