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
997 B
C++
70 lines
997 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 "FacebookProtocol.h"
|
|
|
|
#include <Resources.h>
|
|
|
|
#include <libinterface/BitmapUtils.h>
|
|
|
|
|
|
FacebookProtocol::FacebookProtocol()
|
|
: JabberHandler()
|
|
{
|
|
}
|
|
|
|
|
|
FacebookProtocol::~FacebookProtocol()
|
|
{
|
|
}
|
|
|
|
|
|
const char*
|
|
FacebookProtocol::Signature() const
|
|
{
|
|
return "facebook";
|
|
}
|
|
|
|
|
|
const char*
|
|
FacebookProtocol::FriendlySignature() const
|
|
{
|
|
return "Facebook";
|
|
}
|
|
|
|
|
|
BBitmap*
|
|
FacebookProtocol::Icon() const
|
|
{
|
|
BResources res(fPath.Path());
|
|
return IconFromResources(&res, 1, B_LARGE_ICON);
|
|
}
|
|
|
|
|
|
BMessage
|
|
FacebookProtocol::SettingsTemplate()
|
|
{
|
|
return JabberHandler::_SettingsTemplate("Username", false);
|
|
}
|
|
|
|
|
|
void
|
|
FacebookProtocol::OverrideSettings()
|
|
{
|
|
fServer = "chat.facebook.com";
|
|
}
|
|
|
|
|
|
BString
|
|
FacebookProtocol::ComposeJID() const
|
|
{
|
|
BString jid(fUsername);
|
|
jid << "@" << fServer << "/" << fResource;
|
|
return jid;
|
|
}
|