summaryrefslogtreecommitdiff
path: root/libopie2/opienet/onetwork.h
authormickeyl <mickeyl>2005-02-07 11:36:05 (UTC)
committer mickeyl <mickeyl>2005-02-07 11:36:05 (UTC)
commit896d2e77ebafd09ee58d6148e31365f47a3668b4 (patch) (side-by-side diff)
treebffff919cd5cc864465c773db52ce8d8f48fe2c8 /libopie2/opienet/onetwork.h
parent5652634e4ff03370564925ce0856b260c001dc0f (diff)
downloadopie-896d2e77ebafd09ee58d6148e31365f47a3668b4.zip
opie-896d2e77ebafd09ee58d6148e31365f47a3668b4.tar.gz
opie-896d2e77ebafd09ee58d6148e31365f47a3668b4.tar.bz2
change license.
Diffstat (limited to 'libopie2/opienet/onetwork.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h
index 057b1a0..be4bb46 100644
--- a/libopie2/opienet/onetwork.h
+++ b/libopie2/opienet/onetwork.h
@@ -1,140 +1,140 @@
/*
� � � � � � � � This file is part of the Opie Project
� � � � � � � Copyright (C) 2003-2004 by Michael 'Mickey' Lauer
=. <mickey@Vanille.de>
.=l.
� � � � � �.>+-=
�_;:, � � .> � �:=|. This program is free software; you can
.> <`_, � > �. � <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- � : the terms of the GNU Library General Public
.="- .-=="i, � � .._ License as published by the Free Software
-�- . � .-<_> � � .<> Foundation; either version 2 of the License,
-� � �._= =} � � � : or (at your option) any later version.
+�- . � .-<_> � � .<> Foundation; version 2 of the License.
+� � �._= =} � � � :
� � .%`+i> � � � _;_.
� � .i_,=:_. � � �-<s. This program is distributed in the hope that
� � �+ �. �-:. � � � = it will be useful, but WITHOUT ANY WARRANTY;
� � : .. � �.:, � � . . . without even the implied warranty of
� � =_ � � � �+ � � =;=|` MERCHANTABILITY or FITNESS FOR A
� _.=:. � � � : � �:=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= � � � = � � � ; Library General Public License for more
++= � -. � � .` � � .: details.
�: � � = �...= . :.=-
�-. � .:....=;==+<; You should have received a copy of the GNU
� -_. . . � )=. �= Library General Public License along with
� � -- � � � �:-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef ONETWORK_H
#define ONETWORK_H
/* OPIE */
#include <opie2/onetutils.h>
#include <opie2/ostation.h>
/* QT */
#include <qvaluelist.h>
#include <qdict.h>
#include <qmap.h>
#include <qobject.h>
#include <qhostaddress.h>
/* STD */
// hacky workaround until we have a user space wireless.h
#include <net/if.h>
#define _LINUX_IF_H
#include <linux/wireless.h>
#ifndef IW_MAX_PRIV_DEF
#define IW_MAX_PRIV_DEF 128
#endif
namespace Opie {
namespace Net {
class ONetworkInterface;
class OWirelessNetworkInterface;
class OChannelHopper;
class OMonitoringInterface;
/*======================================================================================
* ONetwork
*======================================================================================*/
/**
* @brief A container class for all network interfaces
*
* This class provides access to all available network interfaces of your computer.
*
* @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class ONetwork : public QObject
{
Q_OBJECT
public:
typedef QDict<ONetworkInterface> InterfaceMap;
typedef QDictIterator<ONetworkInterface> InterfaceIterator;
public:
/**
* @returns the number of available interfaces
*/
int count() const;
/**
* @returns a pointer to the (one and only) @ref ONetwork instance.
*/
static ONetwork* instance();
/**
* @returns an iterator usable for iterating through all network interfaces.
*/
InterfaceIterator iterator() const;
/**
* @returns true, if the @a interface is present.
*/
bool isPresent( const char* interface ) const;
/**
* @returns true, if the @a interface supports the wireless extension protocol.
*/
bool isWirelessInterface( const char* interface ) const;
/**
* @returns a pointer to the @ref ONetworkInterface object for the specified @a interface or 0, if not found.
* @see ONetworkInterface
*/
ONetworkInterface* interface( const QString& interface ) const;
/**
* @internal Rebuild the internal interface database
* @note Sometimes it might be useful to call this from client code,
* e.g. after issuing a cardctl insert
*/
void synchronize();
/**
* @returns the wireless extension version used at compile time.
**/
static short wirelessExtensionCompileVersion();
protected:
ONetwork();
private:
static ONetwork* _instance;
InterfaceMap _interfaces;
class Private;
Private *d;
};
/*======================================================================================
* ONetworkInterface
*======================================================================================*/
/**
* @brief A network interface wrapper.
*
* This class provides a wrapper for a network interface. All the cumbersume details of
* Linux ioctls are hidden under a convenient high-level interface.
* @warning Most of the setting methods contained in this class require the appropriate
* process permissions to work.
*
* @author Michael 'Mickey' Lauer <mickey@vanille.de>