2010-05-28 15:41:58 -05:00
|
|
|
/*
|
|
|
|
* 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 "GoogleTalkProtocol.h"
|
|
|
|
|
Allow multiple protocols per add-on
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.
2021-05-21 13:33:43 -05:00
|
|
|
#include <Resources.h>
|
|
|
|
|
|
|
|
#include <libinterface/BitmapUtils.h>
|
2010-05-28 15:41:58 -05:00
|
|
|
|
|
|
|
|
|
|
|
GoogleTalkProtocol::GoogleTalkProtocol()
|
|
|
|
: JabberHandler()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GoogleTalkProtocol::~GoogleTalkProtocol()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Allow multiple protocols per add-on
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.
2021-05-21 13:33:43 -05:00
|
|
|
const char*
|
|
|
|
GoogleTalkProtocol::Signature() const
|
2010-05-28 15:41:58 -05:00
|
|
|
{
|
Allow multiple protocols per add-on
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.
2021-05-21 13:33:43 -05:00
|
|
|
return "gtalk";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const char*
|
|
|
|
GoogleTalkProtocol::FriendlySignature() const
|
|
|
|
{
|
|
|
|
return "GTalk";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
BBitmap*
|
|
|
|
GoogleTalkProtocol::Icon() const
|
|
|
|
{
|
|
|
|
BResources res(fPath.Path());
|
|
|
|
return IconFromResources(&res, 2, B_LARGE_ICON);
|
2010-05-28 15:41:58 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-05-20 09:32:52 -05:00
|
|
|
BMessage
|
|
|
|
GoogleTalkProtocol::SettingsTemplate()
|
|
|
|
{
|
|
|
|
return JabberHandler::_SettingsTemplate("Identifier", false);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Allow multiple protocols per add-on
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.
2021-05-21 13:33:43 -05:00
|
|
|
void
|
|
|
|
GoogleTalkProtocol::OverrideSettings()
|
|
|
|
{
|
|
|
|
fServer = "talk.google.com";
|
|
|
|
fPort = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-05-28 15:41:58 -05:00
|
|
|
BString
|
|
|
|
GoogleTalkProtocol::ComposeJID() const
|
|
|
|
{
|
|
|
|
BString jid(fUsername);
|
|
|
|
if (jid.FindLast("@") < 0)
|
|
|
|
jid << "@gmail.com";
|
|
|
|
jid << "/" << fResource;
|
|
|
|
return jid;
|
|
|
|
}
|