Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |
/****************************************************************************
**
** Copyright (C) 1992-2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
**
** This file is part of the documentation of the Qt Toolkit.
**
** Licensees holding a valid Qt License Agreement may use this file in
** accordance with the rights, responsibilities and obligations
** contained therein. Please consult your licensing agreement or
** contact [email protected] if any conditions of this licensing
** agreement are not clear to you.
**
** Further information about Qt licensing is available at:
** http://trolltech.com/products/appdev/licensing.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
#ifndef PEERMANAGER_H
#define PEERMANAGER_H
#include <QByteArray>
#include <QList>
#include <QObject>
#include <QTimer>
#include <QUdpSocket>
class Client;
class Connection;
class PeerManager : public QObject
{
Q_OBJECT
public:
PeerManager(Client *client);
void setServerPort(int port);
QByteArray userName() const;
void startBroadcasting();
bool isLocalHostAddress(const QHostAddress &address);
signals:
void newConnection(Connection *connection);
private slots:
void sendBroadcastDatagram();
void readBroadcastDatagram();
private:
void updateAddresses();
Client *client;
QList<QHostAddress> broadcastAddresses;
QList<QHostAddress> ipAddresses;
QUdpSocket broadcastSocket;
QTimer broadcastTimer;
QByteArray username;
int serverPort;
};
#endif
Copyright © 2008 Nokia Corporation and/or its subsidiary(-ies) | Trademarks | Qt 4.4.3 |