← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dc-plugin-sdk/trunk] Rev 23: Adding sample Python plugin

 

------------------------------------------------------------
revno: 23
committer: Fredrik Ullner <ullner@xxxxxxxxx>
branch nick: dc-plugin-sdk
timestamp: Sun 2014-06-29 18:08:52 +0200
message:
  Adding sample Python plugin
added:
  Examples/Python-Skeleton/
  Examples/Python-Skeleton/MyPlugin.py
  Examples/Python-Skeleton/info.xml
modified:
  Libraries/PythonPlugin/PythonPlugin.vcxproj
  Libraries/PythonPlugin/PythonPlugin.vcxproj.filters
  Libraries/PythonPlugin/version.h


--
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
=== added directory 'Examples/Python-Skeleton'
=== added file 'Examples/Python-Skeleton/MyPlugin.py'
--- Examples/Python-Skeleton/MyPlugin.py	1970-01-01 00:00:00 +0000
+++ Examples/Python-Skeleton/MyPlugin.py	2014-06-29 16:08:52 +0000
@@ -0,0 +1,20 @@
+import DCPluginSink
+
+from Enumerations import *
+from DataTypes import *
+from IDCPluginSink import *
+from IDCPlugin import *
+from DCPluginBase import *
+from DCPluginSink import *
+from DCPluginSinkProxy import *
+
+class MyPlugin(DCPluginBase):
+    def __init__(self):
+        return None;
+
+    def OnChatIncoming(self, hubData, paramData):
+        if paramData == "test":
+            self.LogMessage("Test? Here's a test for you. In Python!");
+            self.sink.SendMessage(hubData, "Test? Here's a test for you. In Python!", False);
+
+        return DCPluginBase.OnChatIncoming(self,hubData, paramData);

=== added file 'Examples/Python-Skeleton/info.xml'
--- Examples/Python-Skeleton/info.xml	1970-01-01 00:00:00 +0000
+++ Examples/Python-Skeleton/info.xml	2014-06-29 16:08:52 +0000
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+
+<!--
+This file is an example info.xml to be included in the dcext package. For more
+information, read "Plugin format (dcext).txt" in the "Doc" directory.
+
+This file has been generated using the information filled in the src/version.h file.
+
+Edit the <Plugin> tags to include your plugin files.
+If you support Windows, include pe-x64 and pe-x86 platforms.
+If you support Linux, include elf-x64 and elf-x86 platforms.
+
+The <Files> tag is empty; should you want to distribute additional files, include them
+in there within <File> tags (again, more information in the above doc file).
+It is recommended you provide a .pdb file to ease debugging.
+
+When you are done editing this file, rename it to "info.xml", move the relevant files
+to this directory and zip them; rename that .zip to .dcext and you are done!
+-->
+
+<dcext>
+	<UUID>...</UUID>
+	<Name>MyExamplePlugin</Name>
+	<Version>1</Version>
+	<ApiVersion>8</ApiVersion>
+	<Author>...</Author>
+	<Description>...</Description>
+	<Website>N/A</Website>
+	<Plugin Platform="pe-x86">PythonPlugin.dll</Plugin>
+	<Files>
+    <File Platform="pe-x86">__init__.py</File>
+    <File Platform="pe-x86">DataTypes.py</File>
+    <File Platform="pe-x86">DCPluginBase.py</File>
+    <File Platform="pe-x86">DCPluginSinkProxy.py</File>
+    <File Platform="pe-x86">Enumerations.py</File>
+    <File Platform="pe-x86">IDCPlugin.py</File>
+    <File Platform="pe-x86">IDCPluginSink.py</File>
+  
+    <File Platform="pe-x86">MyPlugin.py</File>
+	</Files>
+</dcext>

=== modified file 'Libraries/PythonPlugin/PythonPlugin.vcxproj'
--- Libraries/PythonPlugin/PythonPlugin.vcxproj	2014-06-29 15:56:17 +0000
+++ Libraries/PythonPlugin/PythonPlugin.vcxproj	2014-06-29 16:08:52 +0000
@@ -75,7 +75,7 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
-    <IntDir>$(Configuration)\Temp</IntDir>
+    <IntDir>$(Configuration)\Temp\</IntDir>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <LinkIncremental>false</LinkIncremental>
@@ -153,11 +153,18 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <Text Include="ReadMe.txt" />
-  </ItemGroup>
-  <ItemGroup>
+    <ClInclude Include="DataTypes.h" />
+    <ClInclude Include="DCPluginSink.h" />
+    <ClInclude Include="Marshalling.h" />
+    <ClInclude Include="Plugin.h" />
+    <ClInclude Include="PluginBase.h" />
+    <ClInclude Include="PluginHelper.h" />
+    <ClInclude Include="PluginInformation.h" />
+    <ClInclude Include="PythonCallbacks.h" />
+    <ClInclude Include="PythonManagement.h" />
     <ClInclude Include="targetver.h" />
     <ClInclude Include="Utilities.h" />
+    <ClInclude Include="version.h" />
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\dcapi\Config.cpp" />

=== modified file 'Libraries/PythonPlugin/PythonPlugin.vcxproj.filters'
--- Libraries/PythonPlugin/PythonPlugin.vcxproj.filters	2014-06-29 15:56:17 +0000
+++ Libraries/PythonPlugin/PythonPlugin.vcxproj.filters	2014-06-29 16:08:52 +0000
@@ -18,15 +18,42 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <Text Include="ReadMe.txt" />
-  </ItemGroup>
-  <ItemGroup>
     <ClInclude Include="targetver.h">
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="Utilities.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="DataTypes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="DCPluginSink.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Marshalling.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Plugin.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="PluginBase.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="PluginHelper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="PluginInformation.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="PythonCallbacks.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="PythonManagement.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="version.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="DCPluginSink.cpp">

=== modified file 'Libraries/PythonPlugin/version.h'
--- Libraries/PythonPlugin/version.h	2014-06-29 15:38:28 +0000
+++ Libraries/PythonPlugin/version.h	2014-06-29 16:08:52 +0000
@@ -5,10 +5,10 @@
 #define PLUGIN_VERSION_H
 
 /* UUID/GUID for this plugin project */
-#define PLUGIN_GUID "{4A7A90C0-3FEE-42A4-AE1E-F8A2FA0644D7}"
+#define PLUGIN_GUID "..."
 
 /* Name of the plugin */
-#define PLUGIN_NAME "Myplugin"
+#define PLUGIN_NAME "MyExamplePlugin"
 
 /* Author of the plugin */
 #define PLUGIN_AUTHOR "..."