summaryrefslogtreecommitdiffstats
path: root/knetworkconf/knetworkconf/knetworkinfo.h
blob: 7ae8b2594deded218f272bf9a98eba8043d5aaaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/***************************************************************************
                          knetworkinfo.h  -  description
                             -------------------
    begin                : Fri Jan 17 2003
    copyright            : (C) 2003 by Juan Luis Baptiste
    email                : jbaptiste@merlinux.org
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef KNETWORKINFO_H
#define KNETWORKINFO_H

#include <qstring.h>
#include <qptrlist.h>
#include "knetworkinterface.h"
#include "kwirelessinterface.h"
#include "kaddressvalidator.h"
#include "kroutinginfo.h"
#include "kdnsinfo.h"

/**Represents the network information
  *@author Juan Luis Baptiste
  */

class KNetworkInfo {
  public: 
	  KNetworkInfo();
	  ~KNetworkInfo();
  private: // Private attributes
    QPtrList<KNetworkInterface> deviceList;
    KRoutingInfo *routingInfo;
  /** Path to the network script that permits starting/stopping/reloading the
  network. */
    QString networkScript;
    KDNSInfo *dnsInfo;
    /** Platform name. */
    QString platformName;
    QPtrList<KNetworkInfo> profilesList;
    QString profileName;
  
  public: // Public attributes
    void setDeviceList(QPtrList<KNetworkInterface> deviceList);
    void setRoutingInfo(KRoutingInfo *routingInfo);
    void setDNSInfo(KDNSInfo *dnsInfo);
    QPtrList<KNetworkInterface> getDeviceList();
    KRoutingInfo *getRoutingInfo();
    KDNSInfo *getDNSInfo();
    QString getNetworkScript();
    void setNetworkScript(QString script);
    /** Returns the platform name KnetworkConf is running on. */
    QString getPlatformName();
    /** Sets the platform name KNetworkConf is running on. */
    void setPlatformName(QString name);
    void setProfilesList(QPtrList<KNetworkInfo> profilesList);
    QPtrList<KNetworkInfo> getProfilesList();
    void setProfileName(QString profileName);
    QString getProfileName();
};

#endif