|
|
|
#define PsiAccount JabberAccount
|
|
|
|
class PsiAccount;
|
|
|
|
|
|
|
|
#ifndef VOICECALLER_H
|
|
|
|
#define VOICECALLER_H
|
|
|
|
|
|
|
|
#include "im.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using namespace XMPP;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief An abstract class for a voice call implementation.
|
|
|
|
*/
|
|
|
|
class VoiceCaller : public TQObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* \brief Base constructor.
|
|
|
|
*
|
|
|
|
* \param account the account to which this voice caller belongs
|
|
|
|
*/
|
|
|
|
VoiceCaller(PsiAccount* account) : account_(account) { };
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Retrieves the account to which this voice caller belongs.
|
|
|
|
*/
|
|
|
|
PsiAccount* account() { return account_; }
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Initializes the voice caller.
|
|
|
|
* This should be called when the connection is open.
|
|
|
|
*/
|
|
|
|
virtual void initialize() = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief De-initializes the voice caller.
|
|
|
|
* This should be called when the connection is about to be closed.
|
|
|
|
*/
|
|
|
|
virtual void deinitialize() = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Call the given JID.
|
|
|
|
*/
|
|
|
|
virtual void call(const Jid&) = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Accept a call from the given JID.
|
|
|
|
*/
|
|
|
|
virtual void accept(const Jid&) = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Reject the call from the given JID.
|
|
|
|
*/
|
|
|
|
virtual void reject(const Jid&) = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Terminate the call from the given JID.
|
|
|
|
*/
|
|
|
|
virtual void terminate(const Jid&) = 0;
|
|
|
|
|
|
|
|
signals:
|
|
|
|
/**
|
|
|
|
* \brief Incoming call from the given JID.
|
|
|
|
*/
|
|
|
|
void incoming(const Jid&);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Contact accepted an incoming call.
|
|
|
|
*/
|
|
|
|
void accepted(const Jid&);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Contact rejected an incoming call.
|
|
|
|
*/
|
|
|
|
void rejected(const Jid&);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Call with given JID is in progress.
|
|
|
|
*/
|
|
|
|
void in_progress(const Jid&);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief Call with given JID is terminated.
|
|
|
|
*/
|
|
|
|
void terminated(const Jid&);
|
|
|
|
|
|
|
|
private:
|
|
|
|
PsiAccount* account_;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|