Re: Re: Exodus Digest, Vol 25, Issue 4

Daniel Chandran <[email protected]> Fri, 9 Dec 2005 13:15:09 -0500
Newsgroups gmane.network.jabber.exodus.user
Message-ID <[email protected]>
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<http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http://uk.messenger.yahoo.com+%0A>
> NEW - crystal clear PC to PC calling worldwide with voicemail
> <http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http://uk.messenger.yahoo.com+%0A>
>
>
> _______________________________________________
> Exodus mailing list
> [email protected]
> http://mail.jabber.org/mailman/listinfo/exodus
>
>
>

_______________________________________________
Exodus mailing list
[email protected]
http://mail.jabber.org/mailman/listinfo/exodus