.Net Exodus plugins

Joe Hildebrand <joe-bvCY4hpNeH/[email protected]> Wed, 14 Dec 2005 22:16:35 -0700
Newsgroups gmane.network.jabber.exodus.user
Message-ID <[email protected]>
Sorry this took so long.
Class1 is an example, and Exodus.cs has the base class.


Again, don't put the .dll in the plugins directory for now.

On Dec 9, 2005, at 11:15 AM, Daniel Chandran wrote:

> Could Joe H. or somebody who is an expert an COM - .Net Interop  
> outline the exact steps to follow for Exodus to recognize the  
> plugins written in .NET?
>
> I am using Visual Studio, so it automatically does the regasm, and  
> I see the plugin listed in the registry under HKEY_CLASSES_ROOT\CLSID.
>
> VS generates two assemblies Interop.ExodusCOM.dll and MyPlugin.dll.  
> I put both of them in C:\Program Files\Exodus\Plugins.  Exodus does  
> not recognize my plugin.  I did a TlbExp on MyPlugin.dll.  After  
> that Exodus recogizes the MyPlugin,  but on attempting to load,  
> complains that it's not a valid Windows Image!!
>
> Any help is greatly appreciated.
>
> Thanks,
> Daniel Chandran
>
> On 12/9/05, Durga Prasad <dprasad_114-/[email protected] > wrote:
> hi,
>
> Thanks your very much for your reply.  Your information helps a lot  
> to develops plugins accurately for Windows environment.  I still  
> have doubts on custom plugin interaction  of Exodus.  I ll post it  
> in the near time.
>
> Would you send your .NET base class that will register  
> automatically to windows registry?
>
> thanks,
> Durga Prasad T
>
>
> [email protected] wrote: Send Exodus mailing list  
> submissions to
> [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mail.jabber.org/mailman/listinfo/exodus
> or, via email, send a message with subject or body 'help' to
> [email protected]
>
> You can reach the person managing the list at
> [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Exodus digest..."
> Today's Topics:
>
> 1. Re: Help in Exodus Plugin creation in C# (Joe Hildebrand)
> From: Joe Hildebrand < joe-bvCY4hpNeH/[email protected]>
> To: Discussion list for all things <[email protected]>
> Date: Sun, 27 Nov 2005 17:13:07 -0700
> Subject: Re: [Exodus] Help in Exodus Plugin creation in C#
>
> If you use the head of subversion, you'll find this a *lot* easier.
> Here is the procedure:
>
> - Put your .dll anywhere. Eventually, if you put it in Exodus/
> plugins/net or something, this will get more automated, but for the
> moment it doesn't matter
> - Make sure to call regasm on the .dll
> - Put a registry value at HKCU\Software\Jabber\Exodus\Plugins whose
> name is the progid of your control, and whose value is a string that
> describes the plugin.
> - If you don't have the head of SVN, edit your preference file, and
> add your progid to the plugin_selected preference. It's a
> stringList, so each item has an around it.
> - If you *do* have the head of SVN, your plugin will just show up in
> the list and can be selected.
>
> You'll no longer have to try to get the .TLB into the .dll, which is
> nice. The downside is that you'll have to figure out (for the
> moment) how to get your users to call regasm on your .dll to install
> it. Eventually I'll figure out how to determine which CLR version
> you compiled with, find the correct version of regasm, and run it
> automatically.
>
> I've also got a .Net base class that does all of the registry stuff
> automatically. I'll try to remember to post it when I'm back in the
> office on Monday.
>
> On Nov 22, 2005, at 8:19 PM, Durga Prasad wrote:
>
> > hi All,
> >
> > I want to write a Plugin for Exodus Client using C#. For testing
> > purpose, I wrote main class which implements IExodusPlugin
> > interface that will add a Menu Item if the user clicks on a Roster
> > name.
> >
> > The following is the structure of the Main Class ::
> >
> > using System;
> > using System.Runtime.InteropServices;
> >
> > namespace ExodusPluginTesting
> > {
> > ///
> > /// Summary description for Class1.
> > ///
> >
> > [ Guid("E10C6CDE-8D8B-46c2-AE85-0185039E9958") ]
> > [ClassInterface( ClassInterfaceType.AutoDual)]
> > public class ExodusPluginTesting : Exodus.IExodusPlugin
> > {
> > public string ID = "";
> > Exodus.ExodusController exodusController;
> >
> > public void Startup(Exodus.ExodusController exController)
> > {
> > string s = "This is my Plugin";
> > exodusController =
> > ( Exodus.ExodusController) exController;
> > ID = exodusController.addContactMenu(s);
> > }
> >
> > public void Shutdown()
> > {
> > exodusController.removeContactMenu(ID);
> > exodusController = null;
> > }
> >
> > public void Process(string xpath, string eventRaised,
> > string xmlObject)
> > {
> > }
> >
> > public void NewChat(string jID, Exodus.ExodusChat exodusChat)
> > {
> > }
> >
> > public void NewRoom(string jID, Exodus.ExodusChat Room)
> > {
> > }
> >
> > public string NewIM(string jID, ref string body, ref
> > string subject, string xTags)
> > {
> > string k = " " ;
> > return (k);
> > }
> >
> > public void Configure()
> > {
> > }
> >
> > public void MenuClick(string ID)
> > {
> > }
> >
> > public void MsgMenuClick(string ID,string jID, ref string
> > body,ref string subject)
> > {
> > }
> >
> > public void NewOutgoingIM(string jID, Exodus.ExodusChat
> > instantMSG)
> > {
> > }
> > }
> > }
> >
> >
> > I converted "Exodus.tlb" to "Exodus.dll" using "tlbImp.exe" tool.
> > And I included this 'Exodus.dll' in my code to import the
> > "IExodusPlugin" interface structure into the Main Class
> > (ExodusPluginTesting()).
> > I built the solution (with Component Registry). THE OUTPUT files I
> > got is "ExodusPluginTesting.dll" and "ExodusPluginTesting.tlb".
> >
> >
> > Then I placed the 'ExodusPluginTesting.dll' file in "C:\Program
> > Files\Exodus\Plugins" directory. I started Exodus client. But I
> > didn't view the PLUGIN in the LIST. I tried several builds and
> > placed it in PLUGINS directory, still, I didn't find it in the list.
> >
> >
> > Is my Interface implementation correct or shall I need to declare
> > the interface structure also (without using Exodus.dll).
> >
> > Can anybody help me in this aspect what procedure to follow to
> > create .DLL Plugin for EXODUS.
> >
> >
> >
> > Thanks,
> > Durga Prsad T
> >
> > Win a Yahoo! Vespa NEW - Yahoo! Cars has 3 Vespa LX125s to be won
> > Enter Now!
> > _______________________________________________
> > Exodus mailing list
> > [email protected]
> > http://mail.jabber.org/mailman/listinfo/exodus
>
> _______________________________________________
> Exodus mailing list
> [email protected]
> http://mail.jabber.org/mailman/listinfo/exodus
>
>
> Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide  
> with voicemail
>
>
> _______________________________________________
> Exodus mailing list
> [email protected]
> http://mail.jabber.org/mailman/listinfo/exodus
>
>
>
> _______________________________________________
> Exodus mailing list
> [email protected]
> http://mail.jabber.org/mailman/listinfo/exodus

_______________________________________________
Exodus mailing list
[email protected]
http://mail.jabber.org/mailman/listinfo/exodus
Plugin.zip (application/zip, 1.7 KB) - not displayed
smime.p7s (application/pkcs7-signature, 2.1 KB) - not displayed