/* 
 * This file is part of DesktopBSD, see the README file.
 *
 * Author: Christian Eichinger <ce@desktopbsd.net>
 *         (C) 2006
 *
 * Copyright: BSD, see the COPYING file included in this distribution
 *
 */

#ifndef __CONNECTIONDATA_H
#define __CONNECTIONDATA_H

#include <qstring.h>
#include "ipv4addr.h"
#include "netinterface.h"

class PPPConnectionData {
    
public:

	enum ConnectionType
	{
		Invalid,
		PPTP,
		PPPoE
	};

   PPPConnectionData();

	PPPConnectionData(const QString& acc, const QString& pass, const QString& mip,
			  const QString& dip, const QString& sip, ConnectionType contype, const QString& device);

	void setAcccountName(const QString& acc);
	void setPassword(const QString& pass);
	void setModemIP(const QString& mip);
	void setPrimaryDNS(const QString& dip);
	void setSecondaryDNS(const QString& dip);
	void setConnectionType(ConnectionType contype);
	void setNetworkDevice(const QString& dev);

	QString getAccountName();
	QString getPassword();
	IPv4Addr getModemIP();
	IPv4Addr getPrimaryDNS();
	IPv4Addr getSecondaryDNS();
	ConnectionType getConnectionType();
   QString getNetworkDevice();

	int checkData();
	
private:
	 QString account;
	 QString password;
	 IPv4Addr modemip;
	 IPv4Addr primdns;
	 IPv4Addr secdns;
	 QString device;
	 ConnectionType connectiontype;
};

#endif /* __CONNECTIONDATA_H */
