RetroShare/plugins/LinksCloud/LinksCloudPlugin.cpp
chrisparker126 c1af9b13ad fix for windows plugin system
uses call back to expose the retroshare interface to plugins



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4633 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-10-08 17:47:36 +00:00

84 lines
1.5 KiB
C++

#include <retroshare/rsplugin.h>
#include "LinksCloudPlugin.h"
#include "LinksDialog.h"
static void *inited = new LinksCloudPlugin() ;
extern "C" {
void *RETROSHARE_PLUGIN_provide()
{
static LinksCloudPlugin *p = new LinksCloudPlugin() ;
return (void*)p ;
}
}
#define IMAGE_LINKS ":/images/irkick.png"
void LinksCloudPlugin::getPluginVersion(int& major,int& minor,int& svn_rev) const
{
major = 5 ;
minor = 1 ;
svn_rev = 4350 ;
}
LinksCloudPlugin::LinksCloudPlugin()
{
mRanking = NULL ;
mainpage = NULL ;
mIcon = NULL ;
mPlugInHandler = NULL;
mPeers = NULL;
mFiles = NULL;
}
void LinksCloudPlugin::setInterfaces(RsPlugInInterfaces &interfaces){
mPeers = interfaces.mPeers;
mFiles = interfaces.mFiles;
}
MainPage *LinksCloudPlugin::qt_page() const
{
if(mainpage == NULL)
mainpage = new LinksDialog(mPeers, mFiles) ;
return mainpage ;
}
RsCacheService *LinksCloudPlugin::rs_cache_service() const
{
if(mRanking == NULL)
{
mRanking = new p3Ranking(mPlugInHandler) ; // , 3600 * 24 * 30 * 6); // 6 Months
rsRanks = mRanking ;
}
return mRanking ;
}
void LinksCloudPlugin::setPlugInHandler(RsPluginHandler *pgHandler){
mPlugInHandler = pgHandler;
}
QIcon *LinksCloudPlugin::qt_icon() const
{
if(mIcon == NULL)
{
Q_INIT_RESOURCE(linksCloud_images) ;
mIcon = new QIcon(IMAGE_LINKS) ;
}
return mIcon ;
}
std::string LinksCloudPlugin::getShortPluginDescription() const
{
return "This plugin provides a set of cached links, and a voting system to promote them." ;
}