You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/kopete/protocols/jabber/jingle/jinglevoicecaller.h

74 lines
1.4 KiB

#define PsiAccount JabberAccount
#ifndef JINGLEVOICECALLER_H
#define JINGLEVOICECALLER_H
#include <tqmap.h>
#include "im.h"
#include "voicecaller.h"
using namespace XMPP;
class PsiAccount;
namespace cricket {
class SocketServer;
class Thread;
class NetworkManager;
class BasicPortAllocator;
class SessionManager;
class PhoneSessionClient;
class Call;
class SocketAddress;
}
class JingleClientSlots;
class JingleCallSlots;
class JingleVoiceCaller : public VoiceCaller
{
Q_OBJECT
TQ_OBJECT
friend class JingleClientSlots;
public:
JingleVoiceCaller(PsiAccount* account);
~JingleVoiceCaller();
virtual bool calling(const Jid&);
virtual void initialize();
virtual void deinitialize();
virtual void call(const Jid&);
virtual void accept(const Jid&);
virtual void reject(const Jid&);
virtual void terminate(const Jid&);
protected:
void sendStanza(const char*);
void registerCall(const Jid&, cricket::Call*);
void removeCall(const Jid&);
protected slots:
void receiveStanza(const TQString&);
private:
bool initialized_;
static cricket::SocketServer *socket_server_;
static cricket::Thread *thread_;
static cricket::NetworkManager *network_manager_;
static cricket::BasicPortAllocator *port_allocator_;
static cricket::SocketAddress *stun_addr_;
cricket::SessionManager *session_manager_;
cricket::PhoneSessionClient *phone_client_;
JingleClientSlots *slots_;
TQMap<TQString,cricket::Call*> calls_;
};
#endif