← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dc-plugin-sdk/trunk] Rev 21: More python fixes

 

------------------------------------------------------------
revno: 21
committer: Fredrik Ullner <ullner@xxxxxxxxx>
branch nick: dc-plugin-sdk
timestamp: Sun 2014-06-29 17:54:20 +0200
message:
  More python fixes
modified:
  Libraries/PyPlugin.DataTypes/DCPluginBase.py
  Libraries/PyPlugin.DataTypes/IDCPlugin.py
  Libraries/PythonPlugin/Plugin.cpp
  Libraries/PythonPlugin/PluginHelper.cpp


--
lp:dc-plugin-sdk
https://code.launchpad.net/~dcplusplus-team/dc-plugin-sdk/trunk

Your team Dcplusplus-team is subscribed to branch lp:dc-plugin-sdk.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dc-plugin-sdk/trunk/+edit-subscription
=== modified file 'Libraries/PyPlugin.DataTypes/DCPluginBase.py'
--- Libraries/PyPlugin.DataTypes/DCPluginBase.py	2014-06-29 15:38:28 +0000
+++ Libraries/PyPlugin.DataTypes/DCPluginBase.py	2014-06-29 15:54:20 +0000
@@ -29,6 +29,9 @@
     def SetSink(self, paramSink):
         self.sink = DCPluginProxySink(paramSink);
 
+    def SetPluginInfo(self, paramInfo):
+        self.info = paramInfo;
+
     """ Hooks """
 
     """ Chat """

=== modified file 'Libraries/PyPlugin.DataTypes/IDCPlugin.py'
--- Libraries/PyPlugin.DataTypes/IDCPlugin.py	2014-06-29 09:41:51 +0000
+++ Libraries/PyPlugin.DataTypes/IDCPlugin.py	2014-06-29 15:54:20 +0000
@@ -10,6 +10,7 @@
     def Uninitialize(self): raise NotImplementedError
 
     def SetSink(self, sink): raise NotImplementedError
+    def SetPluginInfo(self, paramInfo): raise NotImplementedError
 
     """ Hooks """
 

=== modified file 'Libraries/PythonPlugin/Plugin.cpp'
--- Libraries/PythonPlugin/Plugin.cpp	2014-06-29 15:38:28 +0000
+++ Libraries/PythonPlugin/Plugin.cpp	2014-06-29 15:54:20 +0000
@@ -77,7 +77,7 @@
 	dcapi::CPluginBase* pPlugin = new dcapi::CPluginHelper(pBaseClassPlugin, pSink);
 
 	// Initialize the plugin
-	bool initialized = pPlugin->Initialize(_pPluginInformation, core, install, runtime);
+	bool initialized = pPlugin->Initialize(GetPluginInformation(), core, install, runtime);
 	if( initialized )
 	{
         {

=== modified file 'Libraries/PythonPlugin/PluginHelper.cpp'
--- Libraries/PythonPlugin/PluginHelper.cpp	2014-06-29 15:38:28 +0000
+++ Libraries/PythonPlugin/PluginHelper.cpp	2014-06-29 15:54:20 +0000
@@ -20,14 +20,15 @@
 
 bool dcapi::CPluginHelper::Initialize(CPluginInformation* pPluginInformation, DCCorePtr core, bool install, bool runtime)
 {
-	m_pPluginInformation = pPluginInformation;
-
 	bool baseInitialize = dcapi::CPluginBase::Initialize(pPluginInformation, core, install, runtime);
 	if(!baseInitialize)
 	{
 		return false;
 	}
 
+	PyObject* pyPluginInfo = CMarshalling::GetPluginInformation(*pPluginInformation);
+	PyObject_CallMethod(m_pPlugin, "SetPluginInfo", "O", pyPluginInfo);
+
 	PyObject* pMethodReturnValue = PyObject_CallMethod(m_pPlugin, "Initialize", "ii", (install ? 1 : 0), (runtime ? 1 : 0));
 	
 	bool bValue = CMarshalling::GetBoolValue(pMethodReturnValue);