summaryrefslogtreecommitdiff
authorwimpie <wimpie>2004-04-05 22:58:06 (UTC)
committer wimpie <wimpie>2004-04-05 22:58:06 (UTC)
commit9aeac7cefc3c8baf32944e7275b57e0a0cde1515 (patch) (side-by-side diff)
treedc8161657d98d0e97d5f29554cb35d9b57202c49
parent1d958f56a9e1357c20e76d763579d4dc184978e0 (diff)
downloadopie-9aeac7cefc3c8baf32944e7275b57e0a0cde1515.zip
opie-9aeac7cefc3c8baf32944e7275b57e0a0cde1515.tar.gz
opie-9aeac7cefc3c8baf32944e7275b57e0a0cde1515.tar.bz2
Add save of node specific config data
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp22
-rw-r--r--noncore/settings/networksettings2/bluetooth/bluetooth_NN.h10
-rw-r--r--noncore/settings/networksettings2/cable/cable_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/cable/cable_NN.h2
-rw-r--r--noncore/settings/networksettings2/irda/irda_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/irda/irda_NN.h2
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.cpp13
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.h8
-rw-r--r--noncore/settings/networksettings2/modem/modem_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/modem/modem_NN.h2
-rw-r--r--noncore/settings/networksettings2/network/network_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/network/network_NN.h2
-rw-r--r--noncore/settings/networksettings2/networksettings2/netnode.cpp47
-rw-r--r--noncore/settings/networksettings2/networksettings2/netnode.h92
-rw-r--r--noncore/settings/networksettings2/networksettings2/resources.h12
-rw-r--r--noncore/settings/networksettings2/nsdata.cpp53
-rw-r--r--noncore/settings/networksettings2/nsdata.h3
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NN.h2
-rw-r--r--noncore/settings/networksettings2/profile/profile_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/profile/profile_NN.h2
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.h2
-rw-r--r--noncore/settings/networksettings2/vpn/vpn_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/vpn/vpn_NN.h2
-rw-r--r--noncore/settings/networksettings2/wlan/wlan_NN.cpp13
-rw-r--r--noncore/settings/networksettings2/wlan/wlan_NN.h8
27 files changed, 217 insertions, 128 deletions
diff --git a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
index 3d1aa69..4579e37 100644
--- a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
+++ b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
@@ -15,8 +15,9 @@ static const char * BluetoothBNEPNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
BluetoothBNEPNetNode::BluetoothBNEPNetNode() : ANetNode() {
+ InstanceCount = 7; // default
}
/**
* Delete any interfaces that we own.
@@ -63,11 +64,24 @@ QString BluetoothBNEPNetNode::genNic( long nr ) {
QString S;
return S.sprintf( "bnep%ld", nr );
}
+
+void BluetoothBNEPNetNode::setSpecificAttribute( QString & A, QString & V ) {
+ if( A == "interfacecount" ) {
+ InstanceCount = V.toLong();
+ }
+}
+
+void BluetoothBNEPNetNode::saveSpecificAttribute( QTextStream & TS) {
+ TS << "interfacecount="
+ << InstanceCount
+ << endl;
+}
+
//
//
-// BLUETOOTH PAN/NAP node
+// BLUETOOTH RFCOMM
//
//
static const char * BluetoothRFCOMMNeeds[] =
@@ -114,8 +128,14 @@ bool BluetoothRFCOMMNetNode::generateDeviceDataForCommonFile(
long ) {
return 0;
}
+void BluetoothRFCOMMNetNode::setSpecificAttribute( QString &, QString & ) {
+}
+
+void BluetoothRFCOMMNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new BluetoothBNEPNetNode() );
PNN.append( new BluetoothRFCOMMNetNode() );
diff --git a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
index 5cd6c52..882d2e3 100644
--- a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
+++ b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
@@ -32,13 +32,19 @@ public:
virtual bool generateDeviceDataForCommonFile(
SystemFile & , long DevNr );
virtual long instanceCount( void )
- { return 7; }
+ { return InstanceCount; }
virtual QString genNic( long );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
+
+ // number of interfaces for this device
+ long InstanceCount;
+
};
class BluetoothRFCOMMNetNode : public ANetNode {
@@ -68,8 +74,10 @@ public:
SystemFile & , long );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/cable/cable_NN.cpp b/noncore/settings/networksettings2/cable/cable_NN.cpp
index a6be4d5..dd41c1f 100644
--- a/noncore/settings/networksettings2/cable/cable_NN.cpp
+++ b/noncore/settings/networksettings2/cable/cable_NN.cpp
@@ -46,8 +46,14 @@ bool CableNetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void CableNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void CableNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new CableNetNode() );
}
diff --git a/noncore/settings/networksettings2/cable/cable_NN.h b/noncore/settings/networksettings2/cable/cable_NN.h
index 83b98e0..b37f31a 100644
--- a/noncore/settings/networksettings2/cable/cable_NN.h
+++ b/noncore/settings/networksettings2/cable/cable_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr);
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/irda/irda_NN.cpp b/noncore/settings/networksettings2/irda/irda_NN.cpp
index 96327a5..49b7707 100644
--- a/noncore/settings/networksettings2/irda/irda_NN.cpp
+++ b/noncore/settings/networksettings2/irda/irda_NN.cpp
@@ -46,8 +46,14 @@ bool IRDANetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void IRDANetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void IRDANetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new IRDANetNode() );
}
diff --git a/noncore/settings/networksettings2/irda/irda_NN.h b/noncore/settings/networksettings2/irda/irda_NN.h
index a5b6cc5..2dcef74 100644
--- a/noncore/settings/networksettings2/irda/irda_NN.h
+++ b/noncore/settings/networksettings2/irda/irda_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.cpp b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
index 480ddf9..ba1c1f8 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.cpp
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
@@ -7,8 +7,9 @@ static const char * LanCardNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
LanCardNetNode::LanCardNetNode() : ANetNode() {
+ InstanceCount = 2;
}
/**
* Delete any interfaces that we own.
@@ -64,8 +65,20 @@ QString LanCardNetNode::genNic( long nr ) {
QString S;
return S.sprintf( "eth%ld", nr );
}
+void LanCardNetNode::setSpecificAttribute( QString & A, QString & V ) {
+ if( A == "interfacecount" ) {
+ InstanceCount = V.toLong();
+ }
+}
+
+void LanCardNetNode::saveSpecificAttribute( QTextStream & TS) {
+ TS << "interfacecount="
+ << InstanceCount
+ << endl;
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new LanCardNetNode() );
}
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.h b/noncore/settings/networksettings2/lancard/lancard_NN.h
index dcdd0da..5f2b25d 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.h
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.h
@@ -32,14 +32,20 @@ public:
virtual bool generateDeviceDataForCommonFile(
SystemFile & SF, long DevNr );
virtual long instanceCount( void )
- { return 2; }
+ { return InstanceCount; }
virtual QString genNic( long );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
+
+ // number of interfaces for this device
+ long InstanceCount;
+
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/modem/modem_NN.cpp b/noncore/settings/networksettings2/modem/modem_NN.cpp
index 65b06ee..1cc8524 100644
--- a/noncore/settings/networksettings2/modem/modem_NN.cpp
+++ b/noncore/settings/networksettings2/modem/modem_NN.cpp
@@ -47,8 +47,14 @@ bool ModemNetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void ModemNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void ModemNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new ModemNetNode() );
}
diff --git a/noncore/settings/networksettings2/modem/modem_NN.h b/noncore/settings/networksettings2/modem/modem_NN.h
index 49244b2..849f928 100644
--- a/noncore/settings/networksettings2/modem/modem_NN.h
+++ b/noncore/settings/networksettings2/modem/modem_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp
index 4a77e6a..d27d54a 100644
--- a/noncore/settings/networksettings2/network/network_NN.cpp
+++ b/noncore/settings/networksettings2/network/network_NN.cpp
@@ -48,8 +48,14 @@ bool NetworkNetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void NetworkNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void NetworkNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new NetworkNetNode() );
}
diff --git a/noncore/settings/networksettings2/network/network_NN.h b/noncore/settings/networksettings2/network/network_NN.h
index 59f0526..0f87e1b 100644
--- a/noncore/settings/networksettings2/network/network_NN.h
+++ b/noncore/settings/networksettings2/network/network_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.cpp b/noncore/settings/networksettings2/networksettings2/netnode.cpp
index fcc6044..3691e5a 100644
--- a/noncore/settings/networksettings2/networksettings2/netnode.cpp
+++ b/noncore/settings/networksettings2/networksettings2/netnode.cpp
@@ -44,11 +44,26 @@ QString quote( QString X ) {
}
return X;
}
+
+//
+//
+// ANETNODE
+//
//
+
+void ANetNode::saveAttributes( QTextStream & TS ) {
+ saveSpecificAttribute( TS );
+}
+
+void ANetNode::setAttribute( QString & Attr, QString & Value ){
+ setSpecificAttribute( Attr, Value );
+}
+
//
//
+// ANETNODEINSTANCE
//
//
long ANetNodeInstance::InstanceCounter = -1;
@@ -81,9 +96,9 @@ ANetNodeInstance * ANetNodeInstance::nextNode( void ) {
}
//
//
-//
+// NODECOLLECTION
//
//
long NodeCollection::MaxNr = -1;
@@ -268,35 +283,17 @@ void NodeCollection::reassign( void ) {
it.current()->setConnection( this );
}
}
+//
+//
+// RUNTIMEINFO
+//
+//
+
InterfaceInfo * RuntimeInfo::assignedInterface( void ) {
return netNode()->nextNode()->runtime()->assignedInterface();
}
AsDevice * RuntimeInfo::device( void ) {
return netNode()->nextNode()->runtime()->device();
}
-
-ANetNodeInstance * FakeNetNode::createInstance( void ) {
- return new FakeNetNodeInstance( this );
-}
-
-void FakeNetNodeInstance::setSpecificAttribute(
- QString & A, QString & V ) {
- ValAttrPairs.insert( A, new QString(V) );
-}
-
-void FakeNetNodeInstance::saveSpecificAttribute( QTextStream &TS ) {
- for( QDictIterator<QString> it( ValAttrPairs );
- it.current();
- ++ it ) {
- TS << it.currentKey().latin1()
- << "="
- << quote( *(it.current()))
- << endl ;
- ++it;
- }
-}
-
-// collects all info that no plugin acceps
-FakeNetNode * FakeNode = 0;
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.h b/noncore/settings/networksettings2/networksettings2/netnode.h
index 9681c6e..6ec9ef6 100644
--- a/noncore/settings/networksettings2/networksettings2/netnode.h
+++ b/noncore/settings/networksettings2/networksettings2/netnode.h
@@ -114,8 +114,12 @@ public:
// only relevant if node instances are devices
virtual long instanceCount( void )
{ return 1; }
+ // set the value of an attribute
+ void setAttribute( QString & Attr, QString & Value ) ;
+ void saveAttributes( QTextStream & TS ) ;
+
// compiled references to 'needed' NetNodes -> needs list
void setAlternatives( NetNodeList * Alt )
{ Alternatives = Alt; }
NetNodeList & alternatives( void )
@@ -125,8 +129,12 @@ protected :
NetNodeList * Alternatives;
private :
+
+ virtual void setSpecificAttribute( QString & , QString & ) = 0;
+ virtual void saveSpecificAttribute( QTextStream & ) = 0;
+
};
class ANetNodeInstance : public QObject {
@@ -377,89 +385,5 @@ private :
bool IsModified;
};
-//
-// special node that is used to remember entries for plugins
-// that seem missing. This way we never loose data
-//
-
-class FakeNetNode : public ANetNode {
-
-public:
-
- FakeNetNode( ) { };
- virtual ~FakeNetNode(){};
-
- const QString pixmapName()
- { return QString(""); }
- const QString nodeName()
- { return QString("Fake node" ); }
- const QString nodeDescription()
- { return QString("Fake node" ); }
- ANetNodeInstance * createInstance( void );
- const char * provides( void )
- { return ""; }
- virtual const char ** needs( void )
- { return 0; }
- virtual bool generateProperFilesFor( ANetNodeInstance * )
- { return 0; }
- virtual bool hasDataFor( const QString & )
- { return 0; }
- virtual bool generateDeviceDataForCommonFile(
- SystemFile & , long )
- {return 1; }
-
-private :
-
-};
-
-class FakeNetNodeInstance : public ANetNodeInstance {
-
-public:
-
- FakeNetNodeInstance( ANetNode * NN ) :
- ANetNodeInstance( NN ), ValAttrPairs() { }
- virtual ~FakeNetNodeInstance( void ) { }
-
- virtual RuntimeInfo * runtime( void )
- { return 0; }
-
- // create edit widget under parent
- virtual QWidget * edit( QWidget * )
- { return 0; }
- // is given data acceptable
- virtual QString acceptable( void )
- { return QString(""); }
-
- // get data from GUI and store in node
- virtual void commit( void ) {}
-
- // get next node
- ANetNodeInstance * nextNode()
- { return 0; }
- // return NetNode this is an instance of
-
- // intialize am instance of a net node
- void initialize( void ){}
-
- // returns node specific data -> only useful for 'buddy'
- virtual void * data( void )
- { return 0; }
-
- virtual bool hasDataFor( const QString & )
- { return 0; }
-
- virtual bool generateDataForCommonFile( SystemFile & , long )
- { return 1; }
-
-protected :
-
- virtual void setSpecificAttribute( QString & , QString & );
- virtual void saveSpecificAttribute( QTextStream & );
-
- QDict<QString> ValAttrPairs;
-};
-
-extern FakeNetNode * FakeNode;
-
#endif
diff --git a/noncore/settings/networksettings2/networksettings2/resources.h b/noncore/settings/networksettings2/networksettings2/resources.h
index 3048fb3..7050f10 100644
--- a/noncore/settings/networksettings2/networksettings2/resources.h
+++ b/noncore/settings/networksettings2/networksettings2/resources.h
@@ -54,8 +54,12 @@ public :
Name2NetNode_t & netNodes( void )
{ return AllNodeTypes; }
bool netNodeExists( const QString & X )
{ return AllNodeTypes.find(X)!=0; }
+ ANetNode * findNetNode( const QString & N )
+ { NetNode_t * NNT = AllNodeTypes.find(N);
+ return (NNT) ? NNT->NetNode : 0;
+ }
Name2SystemFile_t & systemFiles( void )
{ return SystemFiles; }
void addSystemFile( SystemFile * SF )
@@ -63,16 +67,12 @@ public :
ANetNodeInstance * createNodeInstance( const QString & S )
{ ANetNodeInstance * NNI = 0;
NetNode_t * NNT = AllNodeTypes[S];
- ANetNode * NN;
if( ! NNT ) {
- NN = FakeNode =
- ( FakeNode ) ? FakeNode : new FakeNetNode();
- } else {
- NN = NNT->NetNode;
+ return 0;
}
- NNI = NN->createInstance();
+ NNI = NNT->NetNode->createInstance();
NNI->initialize();
return NNI;
}
diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp
index b4d9aaa..13979ce 100644
--- a/noncore/settings/networksettings2/nsdata.cpp
+++ b/noncore/settings/networksettings2/nsdata.cpp
@@ -30,10 +30,9 @@ NetworkSettingsData::~NetworkSettingsData( void ) {
delete NSResources;
}
void NetworkSettingsData::loadSettings( void ) {
- QString S;
- ANetNodeInstance* NNI;
+ QString Line, S;
QString Attr, Value;
long idx;
QFile F( CfgFile );
@@ -56,9 +55,9 @@ void NetworkSettingsData::loadSettings( void ) {
Node=Name
<EMPTYLINE>
*/
while( ! TS.atEnd() ) {
- S = TS.readLine();
+ S = Line = TS.readLine();
if ( S.isEmpty() || S[0] != '[' )
continue;
@@ -72,22 +71,28 @@ void NetworkSettingsData::loadSettings( void ) {
// load connections -> collections of nodes
NodeCollection * NC = new NodeCollection( TS );
NSResources->addConnection( NC );
} else {
- // load nodes
+ ANetNode * NN = 0;
+ ANetNodeInstance* NNI = 0;
+ if( S.startsWith( "nodetype " ) ) {
+ S = S.mid( 9, S.length()-9-1 );
+ fprintf( stderr, "Node %s\n", S.latin1() );
+ // try to find netnode
+ NN = NSResources->findNetNode( S );
+ } else {
+ // try to find instance
NNI = NSResources->createNodeInstance( S );
- if( ! NNI ) {
- printf( "SKIPPING %s\n", S.latin1() );
}
do {
S = TS.readLine();
+
+ if( NN || NNI ) {
if( S.isEmpty() ) {
// empty line
break;
}
- // node found ?
- if( NNI ) {
idx = S.find( '=' );
if( idx > 0 ) {
Attr = S.left( idx );
Value = S.mid( idx+1, S.length() );
@@ -101,12 +106,23 @@ void NetworkSettingsData::loadSettings( void ) {
Attr.lower();
// dequote Attr
Value = deQuote(Value);
+ if( NN ) {
+ // set the attribute
+ NNI->setAttribute( Attr, Value );
+ } else {
// set the attribute
NNI->setAttribute( Attr, Value );
}
-
+ } else {
+ LeftOvers.append( Line );
+ // add empty line too as delimiter
+ if( S.isEmpty() ) {
+ // empty line
+ break;
+ }
+ }
} while( 1 );
if( NNI ) {
// loading from file -> exists
NNI->setNew( FALSE );
@@ -137,8 +153,27 @@ QString NetworkSettingsData::saveSettings( void ) {
return ErrS;
}
QTextStream TS( &F );
+
+ // save leftovers
+ for ( QStringList::Iterator it = LeftOvers.begin();
+ it != LeftOvers.end(); ++it ) {
+ TS << (*it) << endl;
+ }
+
+ // save global configs
+ for( QDictIterator<NetNode_t> it( NSResources->netNodes() );
+ it.current();
+ ++it ) {
+ TS << "[nodetype "
+ << it.current()->NetNode->name()
+ << "]"
+ << endl;
+
+ it.current()->NetNode->saveAttributes( TS );
+ }
+
{ Name2Connection_t & M = NSResources->connections();
ANetNodeInstance * NNI;
// for all connections
diff --git a/noncore/settings/networksettings2/nsdata.h b/noncore/settings/networksettings2/nsdata.h
index eb96930..57eb722 100644
--- a/noncore/settings/networksettings2/nsdata.h
+++ b/noncore/settings/networksettings2/nsdata.h
@@ -37,7 +37,10 @@ private :
long DevInstNr );
bool IsModified;
bool Force;
+ // collect strings in config file nobody wants
+ QStringList LeftOvers;
+
};
#endif
diff --git a/noncore/settings/networksettings2/ppp/ppp_NN.cpp b/noncore/settings/networksettings2/ppp/ppp_NN.cpp
index b3f70c5..0bf415b 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NN.cpp
+++ b/noncore/settings/networksettings2/ppp/ppp_NN.cpp
@@ -54,8 +54,14 @@ QString PPPNetNode::genNic( long NicNr ) {
QString S;
return S.sprintf( "ppp%ld", NicNr );
}
+void PPPNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void PPPNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new PPPNetNode() );
}
diff --git a/noncore/settings/networksettings2/ppp/ppp_NN.h b/noncore/settings/networksettings2/ppp/ppp_NN.h
index c33f281..fbbbbe1 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NN.h
+++ b/noncore/settings/networksettings2/ppp/ppp_NN.h
@@ -36,8 +36,10 @@ public:
virtual QString genNic( long NicNr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/profile/profile_NN.cpp b/noncore/settings/networksettings2/profile/profile_NN.cpp
index 7609cdc..0f71dc7 100644
--- a/noncore/settings/networksettings2/profile/profile_NN.cpp
+++ b/noncore/settings/networksettings2/profile/profile_NN.cpp
@@ -48,8 +48,14 @@ bool ProfileNetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void ProfileNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void ProfileNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new ProfileNetNode() );
}
diff --git a/noncore/settings/networksettings2/profile/profile_NN.h b/noncore/settings/networksettings2/profile/profile_NN.h
index f7c2b22..1313ab2 100644
--- a/noncore/settings/networksettings2/profile/profile_NN.h
+++ b/noncore/settings/networksettings2/profile/profile_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr);
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/usb/usb_NN.cpp b/noncore/settings/networksettings2/usb/usb_NN.cpp
index 30c72db..d5971cf 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.cpp
+++ b/noncore/settings/networksettings2/usb/usb_NN.cpp
@@ -63,8 +63,14 @@ bool USBNetNode::generateDeviceDataForCommonFile(
QString USBNetNode::genNic( long ) {
return QString( "usbf" );
}
+void USBNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void USBNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new USBNetNode() );
}
diff --git a/noncore/settings/networksettings2/usb/usb_NN.h b/noncore/settings/networksettings2/usb/usb_NN.h
index ba22b1c..0b83ea6 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.h
+++ b/noncore/settings/networksettings2/usb/usb_NN.h
@@ -35,8 +35,10 @@ public:
virtual QString genNic( long nr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/vpn/vpn_NN.cpp b/noncore/settings/networksettings2/vpn/vpn_NN.cpp
index d9aa892..307e9dd 100644
--- a/noncore/settings/networksettings2/vpn/vpn_NN.cpp
+++ b/noncore/settings/networksettings2/vpn/vpn_NN.cpp
@@ -48,8 +48,14 @@ bool VPNNetNode::generateDeviceDataForCommonFile(
long ) {
return 1;
}
+void VPNNetNode::setSpecificAttribute( QString & , QString & ) {
+}
+
+void VPNNetNode::saveSpecificAttribute( QTextStream & ) {
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new VPNNetNode() );
}
diff --git a/noncore/settings/networksettings2/vpn/vpn_NN.h b/noncore/settings/networksettings2/vpn/vpn_NN.h
index 7ce8e3a..1cd3fcc 100644
--- a/noncore/settings/networksettings2/vpn/vpn_NN.h
+++ b/noncore/settings/networksettings2/vpn/vpn_NN.h
@@ -34,8 +34,10 @@ public:
SystemFile & SF, long DevNr );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/wlan/wlan_NN.cpp b/noncore/settings/networksettings2/wlan/wlan_NN.cpp
index 4e59ac1..e0c4db2 100644
--- a/noncore/settings/networksettings2/wlan/wlan_NN.cpp
+++ b/noncore/settings/networksettings2/wlan/wlan_NN.cpp
@@ -8,8 +8,9 @@ static const char * WLanNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
WLanNetNode::WLanNetNode() : ANetNode() {
+ InstanceCount = 2;
}
/**
* Delete any interfaces that we own.
@@ -64,8 +65,20 @@ QString WLanNetNode::genNic( long nr ) {
QString S;
return S.sprintf( "wlan%ld", nr );
}
+void WLanNetNode::setSpecificAttribute( QString & A, QString & V ) {
+ if( A == "interfacecount" ) {
+ InstanceCount = V.toLong();
+ }
+}
+
+void WLanNetNode::saveSpecificAttribute( QTextStream & TS ) {
+ TS << "interfacecount="
+ << InstanceCount
+ << endl;
+}
+
extern "C" {
void create_plugin( QList<ANetNode> & PNN ) {
PNN.append( new WLanNetNode() );
}
diff --git a/noncore/settings/networksettings2/wlan/wlan_NN.h b/noncore/settings/networksettings2/wlan/wlan_NN.h
index f27e71c..e93a89a 100644
--- a/noncore/settings/networksettings2/wlan/wlan_NN.h
+++ b/noncore/settings/networksettings2/wlan/wlan_NN.h
@@ -33,14 +33,20 @@ public:
virtual bool generateDeviceDataForCommonFile(
SystemFile & SF, long DevNr );
virtual long instanceCount( void )
- { return 2; }
+ { return InstanceCount; }
virtual QString genNic( long );
private:
+ virtual void setSpecificAttribute( QString & Attr, QString & Value );
+ virtual void saveSpecificAttribute( QTextStream & TS );
+
+ // number of interfaces for this device
+ long InstanceCount;
+
};
extern "C"
{