summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/lancard
authorwimpie <wimpie>2005-01-04 01:35:26 (UTC)
committer wimpie <wimpie>2005-01-04 01:35:26 (UTC)
commita9c188235c97e07b0eb96b13adbcdfd4bad64767 (patch) (unidiff)
tree13f6ae5c499dc0c1d1bd4b763a1973a0fa8635cf /noncore/settings/networksettings2/lancard
parent48b6cd5966ec6cc0b968edf10ba1a1ad96ef165f (diff)
downloadopie-a9c188235c97e07b0eb96b13adbcdfd4bad64767.zip
opie-a9c188235c97e07b0eb96b13adbcdfd4bad64767.tar.gz
opie-a9c188235c97e07b0eb96b13adbcdfd4bad64767.tar.bz2
CONTROL files : changed version string
NS2 many changes and first release of OT2
Diffstat (limited to 'noncore/settings/networksettings2/lancard') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.cpp12
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.h2
-rw-r--r--noncore/settings/networksettings2/lancard/lancarddata.h5
-rw-r--r--noncore/settings/networksettings2/lancard/lancardrun.cpp110
-rw-r--r--noncore/settings/networksettings2/lancard/lancardrun.h28
-rw-r--r--noncore/settings/networksettings2/lancard/opie-networksettings2plugin-lancard.control2
6 files changed, 60 insertions, 99 deletions
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.cpp b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
index 20ae7f6..e36f757 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.cpp
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
@@ -2,7 +2,13 @@
2#include "lancard_NNI.h" 2#include "lancard_NNI.h"
3 3
4static const char * LanCardNeeds[] = 4static const char * LanCardNeeds[] =
5 { 0 }; 5 { 0
6 };
7
8static const char * LanCardProvides[] =
9 { "device",
10 0
11 };
6 12
7/** 13/**
8 * Constructor, find all of the possible interfaces 14 * Constructor, find all of the possible interfaces
@@ -34,8 +40,8 @@ const char ** LanCardNetNode::needs( void ) {
34 return LanCardNeeds; 40 return LanCardNeeds;
35} 41}
36 42
37const char * LanCardNetNode::provides( void ) { 43const char ** LanCardNetNode::provides( void ) {
38 return "device"; 44 return LanCardProvides;
39} 45}
40 46
41QString LanCardNetNode::genNic( long nr ) { 47QString LanCardNetNode::genNic( long nr ) {
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.h b/noncore/settings/networksettings2/lancard/lancard_NN.h
index 6882af7..dc7566a 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.h
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.h
@@ -25,7 +25,7 @@ public:
25 virtual const QString nodeDescription() ; 25 virtual const QString nodeDescription() ;
26 virtual ANetNodeInstance * createInstance( void ); 26 virtual ANetNodeInstance * createInstance( void );
27 virtual const char ** needs( void ); 27 virtual const char ** needs( void );
28 virtual const char * provides( void ); 28 virtual const char ** provides( void );
29 29
30 QStringList & addressesOfNIC( void ) 30 QStringList & addressesOfNIC( void )
31 { return NICMACAddresses; } 31 { return NICMACAddresses; }
diff --git a/noncore/settings/networksettings2/lancard/lancarddata.h b/noncore/settings/networksettings2/lancard/lancarddata.h
index c76767f..8f5e2b5 100644
--- a/noncore/settings/networksettings2/lancard/lancarddata.h
+++ b/noncore/settings/networksettings2/lancard/lancarddata.h
@@ -4,10 +4,11 @@
4#include <qstringlist.h> 4#include <qstringlist.h>
5#include <qstring.h> 5#include <qstring.h>
6 6
7typedef struct LanCardData { 7class LanCardData {
8public :
8 bool AnyLanCard; 9 bool AnyLanCard;
9 QStringList HWAddresses; 10 QStringList HWAddresses;
10 11
11} LanCardData_t; 12} ;
12 13
13#endif 14#endif
diff --git a/noncore/settings/networksettings2/lancard/lancardrun.cpp b/noncore/settings/networksettings2/lancard/lancardrun.cpp
index 1544ddc..470b797 100644
--- a/noncore/settings/networksettings2/lancard/lancardrun.cpp
+++ b/noncore/settings/networksettings2/lancard/lancardrun.cpp
@@ -4,13 +4,15 @@
4#include <resources.h> 4#include <resources.h>
5#include "lancardrun.h" 5#include "lancardrun.h"
6 6
7void LanCardRun::detectState( NodeCollection * NC ) { 7State_t LanCardRun::detectState( void ) {
8 8
9 // unavailable : no card found 9 // unavailable : no card found
10 // available : card found and assigned to us or free 10 // available : card found and assigned to us or free
11 // up : card found and assigned to us and up 11 // up : card found and assigned to us and up
12 12
13 QString S = QString( "/tmp/profile-%1.up" ).arg(NC->number()); 13 NodeCollection * NC = nodeCollection();
14 QString S = QString( "/tmp/profile-%1.up" ).
15 arg( NC->number());
14 System & Sys = NSResources->system(); 16 System & Sys = NSResources->system();
15 InterfaceInfo * Run; 17 InterfaceInfo * Run;
16 18
@@ -28,26 +30,23 @@ void LanCardRun::detectState( NodeCollection * NC ) {
28 ++It ) { 30 ++It ) {
29 Run = It.current(); 31 Run = It.current();
30 if( X == Run->Name ) { 32 if( X == Run->Name ) {
31 Run->assignNode( netNode() ); 33 NC->assignInterface( Run );
32 assignInterface( Run ); 34 return IsUp;
33 NC->setCurrentState( IsUp );
34 return;
35 } 35 }
36 } 36 }
37 } 37 }
38 } 38 }
39 39
40 if( ( Run = assignedInterface() ) ) { 40 if( ( Run = NC->assignedInterface() ) ) {
41 // we already have an interface assigned -> still present ? 41 // we already have an interface assigned -> still present ?
42 if( ! Run->IsUp ) { 42 if( ! Run->IsUp ) {
43 // usb is still free -> keep assignment 43 // usb is still free -> keep assignment
44 NC->setCurrentState( Available ); 44 return Available;
45 return;
46 } // else interface is up but NOT us -> some other profile 45 } // else interface is up but NOT us -> some other profile
47 } 46 }
48 47
49 // nothing (valid) assigned to us 48 // nothing (valid) assigned to us
50 assignInterface( 0 ); 49 NC->assignInterface( 0 );
51 50
52 // find possible interface 51 // find possible interface
53 for( QDictIterator<InterfaceInfo> It(Sys.interfaces()); 52 for( QDictIterator<InterfaceInfo> It(Sys.interfaces());
@@ -63,81 +62,38 @@ void LanCardRun::detectState( NodeCollection * NC ) {
63 ! Run->IsUp 62 ! Run->IsUp
64 ) { 63 ) {
65 // proper type, and Not UP -> free 64 // proper type, and Not UP -> free
66 NC->setCurrentState( Off ); 65 return Off;
67 return;
68 } 66 }
69 } 67 }
70 // no free found 68 // no free found
71 69
72 NC->setCurrentState( Unavailable ); 70 return Unavailable;
73
74} 71}
75 72
76bool LanCardRun::setState( NodeCollection * NC, Action_t A, bool ) { 73QString LanCardRun::setMyState( NodeCollection * NC, Action_t A, bool ) {
77 74
78 // we only handle activate and deactivate 75 if( A == Activate ) {
79 switch( A ) { 76 InterfaceInfo * N = getInterface();
80 case Activate : 77
81 { 78 if( ! N ) {
82 if( NC->currentState() != Off ) { 79 // no interface available
83 return 0; 80 NC->setCurrentState( Unavailable );
84 } 81 return tr("No interface found");
85 InterfaceInfo * N = getInterface(); 82 }
86 if( ! N ) { 83
87 // no interface available 84 // because we were OFF the interface
88 NC->setCurrentState( Unavailable ); 85 // we get back is NOT assigned
89 return 0; 86 NC->assignInterface( N );
90 } 87 NC->setCurrentState( Available );
91 // because we were OFF the interface 88 return QString();
92 // we get back is NOT assigned
93 N->assignNode( netNode() );
94 assignInterface( N );
95 NC->setCurrentState( Available );
96 return 1;
97 }
98 case Deactivate :
99 if( NC->currentState() == IsUp ) {
100 // bring down first
101 if( ! connection()->setState( Down ) )
102 // could not ...
103 return 0;
104 } else if( NC->currentState() != Available ) {
105 return 1;
106 }
107 assignedInterface()->assignNode( 0 ); // release
108 assignInterface( 0 );
109 NC->setCurrentState( Off );
110 return 1;
111 default :
112 // FT
113 break;
114 } 89 }
115 return 0;
116}
117 90
118bool LanCardRun::canSetState( State_t Curr, Action_t A ) { 91 if( A == Deactivate ) {
119 // we only handle up down activate and deactivate 92 NC->assignInterface( 0 );
120 switch( A ) { 93 NC->setCurrentState( Off );
121 case Activate :
122 { // at least available
123 if( Curr == Available ) {
124 return 1;
125 }
126 // or we can make one available
127 InterfaceInfo * N = getInterface();
128 if( ! N || N->assignedNode() != 0 ) {
129 // non available or assigned
130 return 0;
131 }
132 return 1;
133 }
134 case Deactivate :
135 return ( Curr >= Available );
136 default :
137 // FT
138 break;
139 } 94 }
140 return 0; 95
96 return QString();
141} 97}
142 98
143// get interface that is free or assigned to us 99// get interface that is free or assigned to us
@@ -158,10 +114,10 @@ InterfaceInfo * LanCardRun::getInterface( void ) {
158 ) 114 )
159 ) { 115 ) {
160 // this is a LAN card 116 // this is a LAN card
161 if( Run->assignedNode() == netNode() ) { 117 if( Run->assignedConnection() == netNode()->connection() ) {
162 // assigned to us 118 // assigned to us
163 return Run; 119 return Run;
164 } else if( Run->assignedNode() == 0 ) { 120 } else if( Run->assignedConnection() == 0 ) {
165 // free 121 // free
166 best = Run; 122 best = Run;
167 } 123 }
diff --git a/noncore/settings/networksettings2/lancard/lancardrun.h b/noncore/settings/networksettings2/lancard/lancardrun.h
index b28dda7..57ef3fb 100644
--- a/noncore/settings/networksettings2/lancard/lancardrun.h
+++ b/noncore/settings/networksettings2/lancard/lancardrun.h
@@ -1,33 +1,31 @@
1#ifndef LANCARDRUN_H 1#ifndef LANCARDRUN_H
2#define LANCARDRUN_H 2#define LANCARDRUN_H
3 3
4#include <asdevice.h> 4#include <netnode.h>
5#include <qregexp.h> 5#include <qregexp.h>
6#include "lancarddata.h" 6#include "lancarddata.h"
7 7
8class LanCardRun : public AsDevice { 8class LanCardRun : public RuntimeInfo {
9 9
10public : 10public :
11 11
12 LanCardRun( ANetNodeInstance * NNI, 12 LanCardRun( ANetNodeInstance * NNI,
13 LanCardData & D ) : AsDevice( NNI ), 13 LanCardData & D ) : RuntimeInfo( NNI ),
14 Pat( "eth[0-9]" ) 14 Pat( "eth[0-9]" ) {
15 { Data = &D; } 15 Data = &D;
16 }
16 17
17 virtual AsDevice * device( void ) 18 virtual RuntimeInfo * device( void )
18 { return (AsDevice *)this; } 19 { return this; }
19 20
20 virtual AsDevice * asDevice( void ) 21 bool handlesInterface( const QString & I );
21 { return (AsDevice *)this; } 22 bool handlesInterface( const InterfaceInfo & II );
22 23
23protected : 24 State_t detectState( void );
24 25
25 void detectState( NodeCollection * NC ); 26protected :
26 bool setState( NodeCollection * NC, Action_t A, bool Force );
27 bool canSetState( State_t Curr, Action_t A );
28 27
29 bool handlesInterface( const QString & I ); 28 QString setMyState( NodeCollection * , Action_t, bool );
30 bool handlesInterface( const InterfaceInfo & II );
31 29
32private : 30private :
33 31
diff --git a/noncore/settings/networksettings2/lancard/opie-networksettings2plugin-lancard.control b/noncore/settings/networksettings2/lancard/opie-networksettings2plugin-lancard.control
index d5aca66..4f87d04 100644
--- a/noncore/settings/networksettings2/lancard/opie-networksettings2plugin-lancard.control
+++ b/noncore/settings/networksettings2/lancard/opie-networksettings2plugin-lancard.control
@@ -1,4 +1,4 @@
1Package: opie-networksettingsplugin2-lancard 1Package: opie-networksettings2plugin-lancard
2Files: plugins/networksettings2/liblancard.so* 2Files: plugins/networksettings2/liblancard.so*
3Priority: optional 3Priority: optional
4Section: opie/settings 4Section: opie/settings