THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/01/2011 at 15:27, xxxxxxxx wrote:
Okay so here is my first attempt at writing a browser plugin.
Everything works except the registration function. Does anyone see what I am doing wrong with the registration function for this plugin?
I am using the class as the SDKBrowserPluginInterfaceInfo that is required in the registration.
Here's the code:
//BROWSER INTERFACE PLUGIN
#include "c4d.h"
#include "c4d_symbols.h"
#include "lib_browser.h"
//PLUGIN ID
#define PXG_BROWSER_PLUGIN 1026577
class PXGBrowserPlugin : public SDKBrowserPluginInterfaceInfo{
public:
virtual LONG GetPluginID(String* plugin_name);
virtual Bool Identify(const SDKBrowserURL& url, UCHAR* probe, LONG size, ULONG flags);
virtual String GetTypeName(const SDKBrowserContentNodeRef node, const SDKBrowserURL* url, LONG mode);
// virtual String* GetTypeNames(LONG mode, LONG* no_strings);
virtual SDKBrowserPreviewData* OpenPreviewBitmap(BaseThread* thread, const SDKBrowserContentNodeRef node, const SDKBrowserURL* url, SDKBrowserPreviewInfo* info);
virtual void ClosePreviewBitmap(SDKBrowserPreviewData* data);
virtual BaseBitmap* GetPreviewBitmap(SDKBrowserPreviewData* data, LONG w, LONG h, LONG quality);
virtual SDKBrowserIcon* GetIcon(const SDKBrowserURL& url, LONG pref_wh);
virtual SubDialog* OpenPreviewDialog(SDKBrowserContentNodeRef node, LONG tab_id);
virtual LONG ClosePreviewDialog(SDKBrowserContentNodeRef node, SubDialog* s);
virtual Bool Open(SDKBrowserContentNodeRef node, const SDKBrowserURL* url, LONG flags);
};
LONG PXGBrowserPlugin::GetPluginID(String* plugin_name){
return NULL;
}
Bool PXGBrowserPlugin::Identify(const SDKBrowserURL& url, UCHAR* probe, LONG size, ULONG flags){
return TRUE;
}
String PXGBrowserPlugin::GetTypeName(const SDKBrowserContentNodeRef node, const SDKBrowserURL* url, LONG mode){
String test = "Test";
return test;
}
/*
String* PXGBrowserPlugin::GetTypeNames(LONG mode, LONG* no_strings){
String *test = "Test";
return test;
}*/
SDKBrowserPreviewData* PXGBrowserPlugin::OpenPreviewBitmap(BaseThread* thread, const SDKBrowserContentNodeRef node, const SDKBrowserURL* url, SDKBrowserPreviewInfo* info){
}
void PXGBrowserPlugin::ClosePreviewBitmap(SDKBrowserPreviewData* data){
}
BaseBitmap* PXGBrowserPlugin::GetPreviewBitmap(SDKBrowserPreviewData* data, LONG w, LONG h, LONG quality){
AutoAlloc<BaseBitmap> bmap;
return bmap;
}
SDKBrowserIcon* PXGBrowserPlugin::GetIcon(const SDKBrowserURL& url, LONG pref_wh){
SDKBrowserIcon *ico;
return ico;
}
SubDialog* PXGBrowserPlugin::OpenPreviewDialog(SDKBrowserContentNodeRef node, LONG tab_id){
SubDialog* sd;
return sd;
}
LONG PXGBrowserPlugin::ClosePreviewDialog(SDKBrowserContentNodeRef node, SubDialog* s){
return NULL;
}
Bool PXGBrowserPlugin::Open(SDKBrowserContentNodeRef node, const SDKBrowserURL* url, LONG flags){
return TRUE;
}
Bool RegisterPXGBrowserPlugin(void){
SDKBrowser *browser;
return browser->RegisterBrowserPlugin(PXGBrowserPlugin, 0);
}