Review Request 119970: Add functions to convert between KPluginInfo and KPluginMetaData to KPluginInfo ( + unit test)

Alexander Richardson arichardson.kde at gmail.com
Thu Aug 28 12:25:58 UTC 2014



> On Aug. 28, 2014, 2:07 nachm., Milian Wolff wrote:
> > src/services/kplugininfo.h, line 429
> > <https://git.reviewboard.kde.org/r/119970/diff/1/?file=307970#file307970line429>
> >
> >     here and below:
> >     
> >     maybe just rename this to
> >     
> >         toMetaData()
> >         fromMetaData()
> >         toMetaDataList()
> >         fromMetaDataList()
> >     
> >     Also, I'd probably remove the ...List from the name. C++ overload resolution can help with that.
> >     
> >     So you'd just have these:
> >     
> >         KPluginMetaData toMetaData() const;
> >         // to make the API symmetric also add this
> >         static KPluginMetaData toMetaData(const KPluginInfo& info) const;
> >         static KPluginInfo fromMetaData(const KPluginMetaData& metaData) const;
> >         static QVector<KPluginMetaData> toMetaData(const KPluginInfo::List& list) const;
> >         static KPluginInfo::List fromMetaData(const QVector<KPluginMetaData>& info) const;

Sounds good, will implement that


> On Aug. 28, 2014, 2:07 nachm., Milian Wolff wrote:
> > src/services/kplugininfo.cpp, line 523
> > <https://git.reviewboard.kde.org/r/119970/diff/1/?file=307971#file307971line523>
> >
> >     don't create the string literals multiple times, i.e. Name at least is twice here which increases the lib size. Personally I always put the stuff into
> >     
> >         namespace {
> >         const QString s_name = QStringLiteral("Name");
> >         ...
> >         }

The problem here is that this creates a global constructor which increases library load time.

I assumed the compiler would be clever enough to merge the string literals (even if they are unicode literals), but I didn't check it.


- Alexander


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119970/#review65421
-----------------------------------------------------------


On Aug. 28, 2014, 1:13 nachm., Alexander Richardson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119970/
> -----------------------------------------------------------
> 
> (Updated Aug. 28, 2014, 1:13 nachm.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kservice
> 
> 
> Description
> -------
> 
> - Add KPluginInfo::toKPluginMetaData and a unit test for it
> - Add KPluginInfo::fromKPluginMetaData and add a unit test for it
> - KPluginInfo: convert all meta data, not just the well known properties
> - Add functions to convert between lists of KPluginMetaData and KPluginInfo
> 
> This needs https://git.reviewboard.kde.org/r/119936
> 
> 
> Diffs
> -----
> 
>   autotests/kplugininfotest.cpp PRE-CREATION 
>   src/services/kplugininfo.h 9a9eceee5c90c6a5516c3b03473ff6437e9b2fe4 
>   src/services/kplugininfo.cpp 6fadf46c902455e7f5c9ece5b34fb1e40d0a97f7 
> 
> Diff: https://git.reviewboard.kde.org/r/119970/diff/
> 
> 
> Testing
> -------
> 
> Unit test passes, used successfully for loading KDevelop plugins with KPluginLoader::findPlugins()
> 
> 
> Thanks,
> 
> Alexander Richardson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140828/4430f53d/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list