Dolphin: plugin loading problem

View: New views
9 Messages — Rating Filter:   Alert me  

Dolphin: plugin loading problem

by Bugzilla from peter.penz@gmx.at :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

Dolphin for KDE 4.4 will support plugins for revision control systems like SVN
(already implemented as prototype), Git, CVS, ...

I've written already a plugin prototype for SVN. Currently it is located
inside the Dolphin sources, but it will be removed outside Dolphin if the
plugin interface has been proofed to be stable (probably KDE 4.5).

However I've problem to load the plugin properly and hope someone can give me
a hint. To load the plugin the following approach is used:

const KService::List plugins =
    KServiceTypeTrader::self()->query("FileViewVersionControlPlugin");
for (KService::List::ConstIterator it = plugins.constBegin();
    it != plugins.constEnd(); ++it) {
    KVersionControlPlugin* p = (*it)->createInstance<KVersionControlPlugin>();
    // ...
}

The SVN plugin can be found successfully, however p is always 0 and the
following error is given:

dolphin(13505)/kdecore (KLibrary) kde4Factory: The library
"/home/kde4peter/kde/lib/kde4/fileviewsvnplugin.so" does not offer a
qt_plugin_instance function.
dolphin(13505)/kdecore (KLibrary) kde3Factory: The library
"/home/kde4peter/kde/lib/kde4/fileviewsvnplugin.so" does not offer an
"init_fileviewsvnplugin" function.

I checked http://techbase.kde.org/Development/Tutorials/Services/Plugins but
don't understand how to deal with "The Plugin Factory Macro" and guess that is
missing in my SVN plugin...

Maybe someone with plugin-experience has a hint for me ;-)

The plugin interface is defined at [1], the subversion plugin is available in
Dolphin at [2].

Thanks in advance for any help,
Peter

[1] Version control plugin interface:
http://websvn.kde.org/trunk/KDE/kdebase/apps/lib/konq/kversioncontrolplugin.h?revision=1017549&view=markup

[2] Subversion plugin in Dolphin:
http://websvn.kde.org/trunk/KDE/kdebase/apps/dolphin/src/fileviewsvnplugin.h?revision=1022921&view=markup
http://websvn.kde.org/trunk/KDE/kdebase/apps/dolphin/src/fileviewsvnplugin.cpp?revision=1022921&view=markup
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Albert Astals Cid-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A Dimecres, 4 de novembre de 2009, Peter Penz va escriure:
> Hello,
>
> Dolphin for KDE 4.4 will support plugins for revision control systems like
>  SVN (already implemented as prototype), Git, CVS, ...

Is there any possibility you work with kdevelop guys and somehow share some
code?

Albert
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from aseigo@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On November 4, 2009, Peter Penz wrote:
> I checked http://techbase.kde.org/Development/Tutorials/Services/Plugins
>  but don't understand how to deal with "The Plugin Factory Macro" and guess
>  that is missing in my SVN plugin...


sth like this in your plugin's .cpp file:

K_PLUGIN_FACTORY(factory, registerPlugin<$CLASSNAME>();)
K_EXPORT_PLUGIN(factory($LIBRARYNAME))

replacing the $variables with the respective values (library name doesn't
include the .so suffix of course :)

--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

signature.asc (204 bytes) Download Attachment

Re: Dolphin: plugin loading problem

by Bugzilla from peter.penz@gmx.at :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday, 4. November 2009 23:23:13 Aaron J. Seigo wrote:

> On November 4, 2009, Peter Penz wrote:
> > I checked http://techbase.kde.org/Development/Tutorials/Services/Plugins
> >  but don't understand how to deal with "The Plugin Factory Macro" and
> > guess that is missing in my SVN plugin...
>
> sth like this in your plugin's .cpp file:
>
> K_PLUGIN_FACTORY(factory, registerPlugin<$CLASSNAME>();)
> K_EXPORT_PLUGIN(factory($LIBRARYNAME))
>
> replacing the $variables with the respective values (library name doesn't
> include the .so suffix of course :)

Thanks, I'll try this during the weekend.
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from peter.penz@gmx.at :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday, 4. November 2009 23:18:09 Albert Astals Cid wrote:
> A Dimecres, 4 de novembre de 2009, Peter Penz va escriure:
> > Hello,
> >
> > Dolphin for KDE 4.4 will support plugins for revision control systems
> > like SVN (already implemented as prototype), Git, CVS, ...
>
> Is there any possibility you work with kdevelop guys and somehow share some
> code?

I've been already in contact with them and sharing the code is the longterm
plan :-)

>
> Albert
>
> >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to
> >> unsubscribe <<
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from wstephenson@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday 04 November 2009 22:49:43 Peter Penz wrote:
> Dolphin for KDE 4.4 will support plugins for revision control systems like
>  SVN (already implemented as prototype), Git, CVS, ...

What will the scope of these plugins be?  I am interested in custom Dolphin UI
for the new timeline:/ ioslave to have custom navigation controls:
forward/back by day/week/month/year on toolbar, mimetype filter controls,
'Open Folder' in the context menu of a nepomuksearch:/ item, etc.

Will
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from peter.penz@gmx.at :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> On Wednesday 04 November 2009 22:49:43 Peter Penz wrote:
> > Dolphin for KDE 4.4 will support plugins for revision control systems
> > like SVN (already implemented as prototype), Git, CVS, ...
>
> What will the scope of these plugins be?  I am interested in custom
> Dolphin UI
> for the new timeline:/ ioslave to have custom navigation controls:
> forward/back by day/week/month/year on toolbar, mimetype filter controls,
> 'Open Folder' in the context menu of a nepomuksearch:/ item, etc.

The scope of the plugin will only be the integration of version control systems into the fileviews (comparable to Tortoise: http://tortoisesvn.tigris.org/ExplorerIntegration.html#contextmenus)

Peter

>
> Will
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from wstephenson@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thursday 05 November 2009 16:55:36 Peter Penz wrote:

> > On Wednesday 04 November 2009 22:49:43 Peter Penz wrote:
> > > Dolphin for KDE 4.4 will support plugins for revision control systems
> > > like SVN (already implemented as prototype), Git, CVS, ...
> >
> > What will the scope of these plugins be?  I am interested in custom
> > Dolphin UI
> > for the new timeline:/ ioslave to have custom navigation controls:
> > forward/back by day/week/month/year on toolbar, mimetype filter controls,
> > 'Open Folder' in the context menu of a nepomuksearch:/ item, etc.
>
> The scope of the plugin will only be the integration of version control
>  systems into the fileviews (comparable to Tortoise:
>  http://tortoisesvn.tigris.org/ExplorerIntegration.html#contextmenus)

Will this mean a plugin would be able to add items to the view's context menu
(not for selected items), so i could add a 'Back One Week' item that changes
the view's URL from eg timeline:/2009-11-06 to
timeline:/2009-11-06?relWeeks=-1 ?

Will
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Re: Dolphin: plugin loading problem

by Bugzilla from peter.penz@gmx.at :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

[...]

> >
> > The scope of the plugin will only be the integration of version control
> >  systems into the fileviews (comparable to Tortoise:
> >  http://tortoisesvn.tigris.org/ExplorerIntegration.html#contextmenus)
>
> Will this mean a plugin would be able to add items to the view's context
> menu
> (not for selected items), so i could add a 'Back One Week' item that
> changes
> the view's URL from eg timeline:/2009-11-06 to
> timeline:/2009-11-06?relWeeks=-1 ?

No, the revision control plugin interface [1] does not offer access to Dolphin itself. The plugin can only provide the revision state of an item and allows to add revision state dependent items for the context menu.

Best regards,
Peter

[1] http://websvn.kde.org/trunk/KDE/kdebase/apps/lib/konq/kversioncontrolplugin.h?revision=1017549&view=markup

>
> Will
>  
> >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to
> unsubscribe <<
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<