Diffstat (limited to 'noncore/settings/networksettings2/network') (more/less context) (ignore whitespace changes)
5 files changed, 13 insertions, 23 deletions
diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp index a6b15c6..4a77e6a 100644 --- a/noncore/settings/networksettings2/network/network_NN.cpp +++ b/noncore/settings/networksettings2/network/network_NN.cpp @@ -34,38 +34,23 @@ const char ** NetworkNetNode::needs( void ) { return NetworkNeeds; } const char * NetworkNetNode::provides( void ) { return "connection"; } bool NetworkNetNode::generateProperFilesFor( ANetNodeInstance * ) { return 1; } -bool NetworkNetNode::hasDataFor( const QString & S, bool DS ) { - if( ! DS && S == "interfaces" ) { - return 1; - } - return 0; -} - -bool NetworkNetNode::generateDataForCommonFile( - SystemFile & S, - long DevNr, - ANetNodeInstance * NNI ) { - return ((ANetwork *)NNI)->generateDataForCommonFile(S, DevNr); -} - bool NetworkNetNode::generateDeviceDataForCommonFile( SystemFile & , - long , - ANetNodeInstance * ) { + long ) { return 1; } 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 62a3f10..59f0526 100644 --- a/noncore/settings/networksettings2/network/network_NN.h +++ b/noncore/settings/networksettings2/network/network_NN.h @@ -19,28 +19,27 @@ public: virtual const QString nodeName() { return tr("IP Configuration"); } virtual const QString nodeDescription() ; virtual ANetNodeInstance * createInstance( void ); virtual const char ** needs( void ); virtual const char * provides( void ); virtual bool generateProperFilesFor( ANetNodeInstance * NNI ); - virtual bool hasDataFor( const QString & S, bool DS ); - virtual bool generateDataForCommonFile( - SystemFile & SF, long DevNr, ANetNodeInstance * NNI ); + virtual bool hasDataFor( const QString & ) + { return 0; } virtual bool generateDeviceDataForCommonFile( - SystemFile & SF, long DevNr, ANetNodeInstance * NNI ); + SystemFile & SF, long DevNr ); private: }; extern "C" { void create_plugin( QList<ANetNode> & PNN ); }; #endif diff --git a/noncore/settings/networksettings2/network/network_NNI.cpp b/noncore/settings/networksettings2/network/network_NNI.cpp index eac2d66..054385a 100644 --- a/noncore/settings/networksettings2/network/network_NNI.cpp +++ b/noncore/settings/networksettings2/network/network_NNI.cpp @@ -90,27 +90,30 @@ QWidget * ANetwork::edit( QWidget * parent ) { return GUI; } QString ANetwork::acceptable( void ) { return ( GUI ) ? GUI->acceptable( ) : QString(); } void ANetwork::commit( void ) { if( GUI && GUI->commit( Data ) ) setModified( 1 ); } +bool ANetwork::hasDataFor( const QString & S ) { + return S == "interfaces"; +} + bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) { - AsDevice * Dev = runtime()->device(); - QString NIC = Dev->genNic( DevNr ); + QString NIC = runtime()->device()->netNode()->nodeClass()->genNic( DevNr ); if( S.name() == "interfaces" ) { // we can safely call from here since device item is deeper if( Data.UseDHCP ) { S << "iface " << NIC << "-c" << connection()->number() << "-allowed inet dhcp" << endl; S << " up echo \"" << NIC << "\" > /tmp/profile-" << connection()->number() << ".up" << Data.IPAddress << endl; if( Data.SendHostname ) { S << " hostname "<< Data.Hostname << endl; } diff --git a/noncore/settings/networksettings2/network/network_NNI.h b/noncore/settings/networksettings2/network/network_NNI.h index b98ff6e..0058793 100644 --- a/noncore/settings/networksettings2/network/network_NNI.h +++ b/noncore/settings/networksettings2/network/network_NNI.h @@ -19,25 +19,27 @@ public : QString acceptable( void ); void commit( void ); RuntimeInfo * runtime( void ) { if( RT == 0 ) RT = new NetworkRun( this, Data ); return RT; } virtual void * data( void ) { return (void *)&Data; } - bool generateDataForCommonFile( SystemFile & S, long DevNr ); + virtual bool hasDataFor( const QString & S ); + virtual bool generateDataForCommonFile( + SystemFile & SF, long DevNr ); protected : virtual void setSpecificAttribute( QString & Attr, QString & Value ); virtual void saveSpecificAttribute( QTextStream & TS ); private : NetworkEdit * GUI; NetworkData_t Data; NetworkRun * RT; }; diff --git a/noncore/settings/networksettings2/network/networkrun.cpp b/noncore/settings/networksettings2/network/networkrun.cpp index f34fdbf..ddb9a5f 100644 --- a/noncore/settings/networksettings2/network/networkrun.cpp +++ b/noncore/settings/networksettings2/network/networkrun.cpp @@ -1,24 +1,25 @@ #include <system.h> #include <asdevice.h> #include "networkrun.h" void NetworkRun::detectState( NodeCollection * NC ) { RuntimeInfo * RI = netNode()->nextNode()->runtime(); AsDevice * Next = RI->asDevice(); InterfaceInfo * II = Next->assignedInterface(); if( II ) { // device has assigned interface NC->setCurrentState( (( II->IsUp ) ? IsUp : Available) ); + return; } // has no interface -> delegate RI->detectState( NC ); } bool NetworkRun::setState( NodeCollection * NC, Action_t A ) { // we handle UP and DOWN RuntimeInfo * RI = netNode()->nextNode()->runtime(); AsDevice * Next = RI->asDevice(); InterfaceInfo * II = Next->assignedInterface(); |