Diffstat (limited to 'noncore/settings/networksettings2/networksettings2/netnode.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/networksettings2/netnode.cpp | 47 |
1 files changed, 22 insertions, 25 deletions
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 @@ -1,133 +1,148 @@ #include <qpe/qpeapplication.h> #include <time.h> #include <qtextstream.h> #include <qpixmap.h> #include "resources.h" #include "netnode.h" #include "asdevice.h" #include "asline.h" #include "asconnection.h" #include "asfullsetup.h" QString & deQuote( QString & X ) { if( X[0] == '"' ) { // remove end and trailing "" and \x -> x QChar R; long idx; idx = X.length()-1; X = X.mid( 1, idx ); idx = 0; while( ( idx = X.find( '\\', idx ) ) >= 0 ) { R = X[idx+1]; X.replace( idx, 2, &R, 1 ); } X = X.left( X.length()-1 ); } return X; } QString quote( QString X ) { if( X.find( QRegExp( "[ \n\"\\\t]" ) ) >= 0 ) { // need to quote this QString OutString = "\""; X.replace( QRegExp("\""), "\\\"" ); X.replace( QRegExp("\\"), "\\\\" ); X.replace( QRegExp(" "), "\\ " ); OutString += X; OutString += "\""; X = OutString; } 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; void ANetNodeInstance::initialize( void ) { if( InstanceCounter == -1 ) InstanceCounter = time(0); // set name QString N; N.sprintf( "-%ld", InstanceCounter++ ); N.prepend( NodeType->nodeName() ); setNodeName( N ); } void ANetNodeInstance::setAttribute( QString & Attr, QString & Value ){ if( Attr == "name" ) { NodeName = Value; } else { setSpecificAttribute( Attr, Value ); } } void ANetNodeInstance::saveAttributes( QTextStream & TS ) { TS << "name=" << quote( NodeName ) << endl; saveSpecificAttribute( TS ); } ANetNodeInstance * ANetNodeInstance::nextNode( void ) { return connection()->findNext( this ); } // // -// +// NODECOLLECTION // // long NodeCollection::MaxNr = -1; NodeCollection::NodeCollection( void ) : QList<ANetNodeInstance>() { IsModified = 0; Index = -1; Name=""; IsNew = 1; CurrentState = Unchecked; } NodeCollection::NodeCollection( QTextStream & TS ) : QList<ANetNodeInstance>() { long idx; bool InError = 0; QString S, A, N; IsModified = 0; Index = -1; Name=""; IsNew = 0; CurrentState = Unchecked; do { S = TS.readLine(); if( S.isEmpty() ) { if( InError ) { // remove all nodes clear(); } // empty line break; } idx = S.find('='); S.stripWhiteSpace(); A = S.left( idx ); A.lower(); N = S.mid( idx+1, S.length() ); N.stripWhiteSpace(); N = deQuote( N ); if( A == "name" ) { Name = N; } else if( A == "number" ) { setNumber( N.toLong() ); } else if( A == "node" ) { @@ -224,79 +239,61 @@ int NodeCollection::compareItems( QCollection::Item I1, static char * State2PixmapTbl[] = { "NULL", // Unchecked : no pixmap "check", // Unknown "delete", // unavailable "disabled", // disabled "off", // off "disconnected", // available "connected" // up }; QPixmap NodeCollection::devicePixmap( void ) { return NSResources->getPixmap( device()->netNode()->pixmapName()+"-large" ); } QPixmap NodeCollection::statePixmap( State_t S) { return NSResources->getPixmap( State2PixmapTbl[S] ); } QString NodeCollection::stateName( State_t S) { switch( S ) { case Unknown : return qApp->translate( "networksettings2", "Unknown"); case Unavailable : return qApp->translate( "networksettings2", "Unavailable"); case Disabled : return qApp->translate( "networksettings2", "Disabled"); case Off : return qApp->translate( "networksettings2", "Off"); case Available : return qApp->translate( "networksettings2", "Available"); case IsUp : return qApp->translate( "networksettings2", "IsUp"); case Unchecked : /* FT */ default : break; } return QString(""); } void NodeCollection::reassign( void ) { for( QListIterator<ANetNodeInstance> it(*this); it.current(); ++it ) { 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; |