author | benmeyer <benmeyer> | 2002-10-25 19:32:57 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-10-25 19:32:57 (UTC) |
commit | 9adbe632ec54bf155b9882e4e0b51c293259cdf2 (patch) (side-by-side diff) | |
tree | 5bd90a1d9d0178b157f0b70bc0144b839501271c /noncore/net/networksetup/interfaces/interfaces.h | |
parent | a2275295f506dca663b545eda17b4b4dc2e4ad40 (diff) | |
download | opie-9adbe632ec54bf155b9882e4e0b51c293259cdf2.zip opie-9adbe632ec54bf155b9882e4e0b51c293259cdf2.tar.gz opie-9adbe632ec54bf155b9882e4e0b51c293259cdf2.tar.bz2 |
Initial
Diffstat (limited to 'noncore/net/networksetup/interfaces/interfaces.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/networksetup/interfaces/interfaces.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/noncore/net/networksetup/interfaces/interfaces.h b/noncore/net/networksetup/interfaces/interfaces.h new file mode 100644 index 0000000..e09ea71 --- a/dev/null +++ b/noncore/net/networksetup/interfaces/interfaces.h @@ -0,0 +1,76 @@ +#ifndef INTERFACES_H +#define INTERFACES_H + +#include <qstring.h> +#include <qstringlist.h> + +#define INTERFACES_LOOPBACK "loopback" + +#define INTERFACES_FAMILY_INET "inet" +#define INTERFACES_FAMILY_IPX "ipx" +#define INTERFACES_FAMILY_INET6 "inet6" + +#define INTERFACES_METHOD_DHCP "dhcp" +#define INTERFACES_METHOD_STATIC "static" +#define INTERFACES_METHOD_PPP "ppp" + +/** + * This class provides a clean frontend for parsing the network interfaces file. + * It provides helper functions to minipulate the options within the file. + * See the interfaces man page for the syntax rules. + */ +class Interfaces { + +public: + Interfaces(QString useInterfacesFile = "/etc/network/interfaces"); + QStringList getInterfaceList(); + + bool isAuto(QString interface); + bool setAuto(QString interface, bool setAuto); + + bool removeInterface(); + bool addInterface(QString interface, QString family, QString method); + bool copyInterface(QString oldInterface, QString newInterface); + bool setInterface(QString interface); + bool isInterfaceSet(); + QString getInterfaceName(bool &error); + bool setInterfaceName(QString newName); + QString getInterfaceFamily(bool &error); + bool setInterfaceFamily(QString newName); + QString getInterfaceMethod(bool &error); + bool setInterfaceMethod(QString newName); + QString getInterfaceOption(QString option, bool &error); + bool setInterfaceOption(QString option, QString value); + bool removeInterfaceOption(QString option, QString value); + bool removeAllInterfaceOptions(); + + bool setMapping(QString interface); + bool removeMapping(); + void addMapping(QString options); + bool setMap(QString map, QString value); + bool removeMap(QString map, QString value); + QString getMap(QString map, bool &error); + bool setScript(QString); + QString getScript(bool &error); + + bool write(); + +private: + bool setStanza(QString stanza, QString option,QStringList::Iterator &iterator); + bool setOption(QStringList::Iterator start, QString option, QString value); + bool removeOption(QStringList::Iterator start, QString option, QString value); + QString getOption(QStringList::Iterator start, QString option, bool &error); + bool removeAllOptions(QStringList::Iterator start); + + QString interfacesFile; + QStringList interfaces; + QStringList::Iterator currentIface; + QStringList::Iterator currentMapping; + + QStringList acceptedFamily; +}; + +#endif + +// interfaces + |