61a1f0baf1
Now an add-on can contain multiple protocols, and the protocol API has changed. An add-on must now export protocol_count() and protocol_at(), with the latter replacing protocol(). protocol_count() returning the amount of protocols in a given add-on, and protocol_at(i) giving a new CayaProtocol* "at" the given index. CayaProtocol has also been changed, adding Signature(), FriendlySignature(), Icon(), Path(), and SetPath(). The reasoning is that different protocols (even within a single add-on) will have different signatures and icons, so this data should be accessible from the protocol itself. CayaProtocolAddOn now has CountProtocols() and ProtocolAt(i), allowing the accessing of multiple protocols. A CayaProtocolAddOn can be given a default protocol index in the constructor, whose protocol will be returned with Protocol(). Version() was also moved from CayaProtocol to CayaProtocolAddOn.
70 lines
957 B
C++
70 lines
957 B
C++
/*
|
|
* Copyright 2010, Pier Luigi Fiorini. All rights reserved.
|
|
* Distributed under the terms of the GPL v2 License.
|
|
*
|
|
* Authors:
|
|
* Pier Luigi Fiorini, pierluigi.fiorini@gmail.com
|
|
*/
|
|
|
|
#include "JabberProtocol.h"
|
|
|
|
#include <Resources.h>
|
|
|
|
#include <libinterface/BitmapUtils.h>
|
|
|
|
|
|
JabberProtocol::JabberProtocol()
|
|
: JabberHandler()
|
|
{
|
|
}
|
|
|
|
|
|
JabberProtocol::~JabberProtocol()
|
|
{
|
|
}
|
|
|
|
|
|
const char*
|
|
JabberProtocol::Signature() const
|
|
{
|
|
return "jabber";
|
|
}
|
|
|
|
|
|
const char*
|
|
JabberProtocol::FriendlySignature() const
|
|
{
|
|
return "Jabber";
|
|
}
|
|
|
|
|
|
BBitmap*
|
|
JabberProtocol::Icon() const
|
|
{
|
|
return ReadNodeIcon(fPath.Path(), B_LARGE_ICON, true);
|
|
}
|
|
|
|
|
|
BMessage
|
|
JabberProtocol::SettingsTemplate()
|
|
{
|
|
return JabberHandler::_SettingsTemplate("Jabber identifier", true);
|
|
}
|
|
|
|
|
|
void
|
|
JabberProtocol::OverrideSettings()
|
|
{
|
|
}
|
|
|
|
|
|
BString
|
|
JabberProtocol::ComposeJID() const
|
|
{
|
|
BString jid(fUsername);
|
|
if (jid.FindLast("@") < 0)
|
|
jid << "@" << fServer;
|
|
jid << "/" << fResource;
|
|
return jid;
|
|
}
|