|Re: [ecf-dev] Simple chat app|
Hi Tim, Tim Terlegård wrote:
Yes. There are instructions here: http://www.eclipse.org/ecf/resources.htmlHi, I'd like to see how the example plugins are doing stuff. I have the plugins in Eclipse, but there's no source code there. Can I get the source code from somewhere?
for getting anonymous CVS access to all the ECF source.
I haven't found any documentation good or easy enough so I can get started making a simple chat application. The javadocs could tell me a lot, but there's nothing there telling me what features a package or class contain.
The best thing to do, I think, is to look at a few example clients. So in the org.eclipse.ecf.example.clients plugin are some relatively simple chat apps:
org.eclipse.ecf.example.clients.RobotApplication: A very simple Robot that communicates via xmpp chat rooms. org.eclipse.ecf.example.clients.XMPPChatClient: An incomplete XMPP chat client (also an IM client) org.eclipse.ecf.example.clients.XMPPClient: An XMPP IM/presence client (not an n-way chat like above)
Also...see the following:
This package provides some generic classes/abstract superclasses for use by provider implementers (of whatever protocol). For example, SOContainer is a generic abstract superclass for providers that choose to implement the ISharedObjectContainer api. It's used by the TCPClientSOContainer (the 'ECF generic' provider client), TCPServerSOContainer (the 'ECF generic' provider server). It's also used by the XMPP provider.What is org.eclipse.ecf.provider.generic? Generic for chat, for voip or super generic for every single protocol?
In order to create some example apps we've done some UI code. We need a lot more, however, and it's not the primary focus of the framework (although along with everything else people are completely free to use, change, improve this UI code...if you do so, though, we'll hope you consider contributing it back to the project!)I though ECF was only about low level stuff, but I was glad when I found org.eclipse.ecf.ui.* in the javadocs. That's cool.
You do need a provider (although you don't have to use provider.generic specifically...see below). Providers represent implementations of an abstract API (e.g. presence/im/chat) that is implemented via particular protocol. So, for example, in the XMPPClient.java code you will see reference to interfaces (API) for communicating about presence/im/chat (in the org.eclipse.ecf.presence bundle/plugin). But the *implementation* of these APIs is via a provider that communicates via a particular protocol to support the functions provided by the API. You can think of the ECF APIs plugins (e.g. org.eclipse.ecf.presence, org.eclipse.ecf.discovery, org.eclipse.ecf.core, org.eclipse.ecf.datashare, org.eclipse.ecf.fileshare, org.eclipse.ecf.call, etc) as a way to represent certain kinds of communication semantics, independent of specific wire protocols. The providers deliver implementations of these APIs (one or more of them) that use a particular wire protocol to communicate. e.g. the presence api can be implemented via xmpp or yahoo's protocol and the application doesn't really have to care which wire protocol it's using...rather it's just communicating about 'presence', 'messages', 'chat'.How would I go about making a simple chat application (not using irc/improtocols)? Is provider.generic for this? Do I need a provider?
In general, ECF is attempt to create a virtualization layer for communications protocols.
Now...the generic provider (with implementation in org.eclipse.ecf.provider.generic) can also be used to create a chat app. The ecf example collab plugin (org.eclipse.ecf.example.collab) does exactly this. So, for example, see the code in org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject for an example of a chat app (and it does more than just chat...but see sendShowTextMsg(...)/handleShowTextMsg(...) specifically for the chat functionality.
Is there any provider I could use for this or do I need to make my own?
You can use IRC, XMPP, Yahoo providers or the ECF generic one if you want. I would suggest the XMPP clients pointed to above for a quick start...as well as the IRC provider.
You can, of course, create your own provider...e.g. here's a short tutorial about how to do that:
Thanks, Tim _______________________________________________ ecf-dev mailing list ecf-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/ecf-dev
Back to the top