summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/usb
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/usb
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/usb') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/usb/opie-networksettings2plugin-usb.control2
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.cpp12
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.h2
-rw-r--r--noncore/settings/networksettings2/usb/usb_NNI.cpp12
-rw-r--r--noncore/settings/networksettings2/usb/usb_NNI.h4
-rw-r--r--noncore/settings/networksettings2/usb/usbdata.h5
-rw-r--r--noncore/settings/networksettings2/usb/usbedit.cpp4
-rw-r--r--noncore/settings/networksettings2/usb/usbedit.h4
-rw-r--r--noncore/settings/networksettings2/usb/usbrun.cpp102
-rw-r--r--noncore/settings/networksettings2/usb/usbrun.h27
10 files changed, 56 insertions, 118 deletions
diff --git a/noncore/settings/networksettings2/usb/opie-networksettings2plugin-usb.control b/noncore/settings/networksettings2/usb/opie-networksettings2plugin-usb.control
index 8b8508c..ffb3012 100644
--- a/noncore/settings/networksettings2/usb/opie-networksettings2plugin-usb.control
+++ b/noncore/settings/networksettings2/usb/opie-networksettings2plugin-usb.control
@@ -1,7 +1,7 @@
1Package: opie-networksettingsplugin2-usb 1Package: opie-networksettings2plugin-usb
2Files: plugins/networksettings2/libusb.so* 2Files: plugins/networksettings2/libusb.so*
3Priority: optional 3Priority: optional
4Section: opie/settings 4Section: opie/settings
5Maintainer: Wim Delvaux <wimpie@handhelds.org> 5Maintainer: Wim Delvaux <wimpie@handhelds.org>
6Architecture: arm 6Architecture: arm
7Depends: opie-networksettings2, libopiecore2, libopienet2 7Depends: opie-networksettings2, libopiecore2, libopienet2
diff --git a/noncore/settings/networksettings2/usb/usb_NN.cpp b/noncore/settings/networksettings2/usb/usb_NN.cpp
index 14c479a..bd9ae2b 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.cpp
+++ b/noncore/settings/networksettings2/usb/usb_NN.cpp
@@ -1,17 +1,25 @@
1#include <resources.h>
1#include "usb_NN.h" 2#include "usb_NN.h"
2#include "usb_NNI.h" 3#include "usb_NNI.h"
3 4
4static const char * USBNeeds[] = 5static const char * USBNeeds[] =
5 { 0 6 { 0
6 }; 7 };
7 8
9static const char * USBProvides[] =
10 { "device",
11 0
12 };
13
8/** 14/**
9 * Constructor, find all of the possible interfaces 15 * Constructor, find all of the possible interfaces
10 */ 16 */
11USBNetNode::USBNetNode() : ANetNode(tr("USB Cable Connect")) { 17USBNetNode::USBNetNode() : ANetNode(tr("USB Cable Connect")) {
18 NSResources->addSystemFile(
19 "interfaces", "/etc/network/interfaces", 1 );
12} 20}
13 21
14/** 22/**
15 * Delete any interfaces that we own. 23 * Delete any interfaces that we own.
16 */ 24 */
17USBNetNode::~USBNetNode(){ 25USBNetNode::~USBNetNode(){
@@ -30,14 +38,14 @@ ANetNodeInstance * USBNetNode::createInstance( void ) {
30} 38}
31 39
32const char ** USBNetNode::needs( void ) { 40const char ** USBNetNode::needs( void ) {
33 return USBNeeds; 41 return USBNeeds;
34} 42}
35 43
36const char * USBNetNode::provides( void ) { 44const char ** USBNetNode::provides( void ) {
37 return "device"; 45 return USBProvides;
38} 46}
39 47
40QString USBNetNode::genNic( long ) { 48QString USBNetNode::genNic( long ) {
41 return QString( "usbf" ); 49 return QString( "usbf" );
42} 50}
43 51
diff --git a/noncore/settings/networksettings2/usb/usb_NN.h b/noncore/settings/networksettings2/usb/usb_NN.h
index 73da15a..b825cec 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.h
+++ b/noncore/settings/networksettings2/usb/usb_NN.h
@@ -17,13 +17,13 @@ public:
17 virtual const QString pixmapName() 17 virtual const QString pixmapName()
18 { return "Devices/usb"; } 18 { return "Devices/usb"; }
19 19
20 virtual const QString nodeDescription() ; 20 virtual const QString nodeDescription() ;
21 virtual ANetNodeInstance * createInstance( void ); 21 virtual ANetNodeInstance * createInstance( void );
22 virtual const char ** needs( void ); 22 virtual const char ** needs( void );
23 virtual const char * provides( void ); 23 virtual const char ** provides( void );
24 24
25 virtual QString genNic( long nr ); 25 virtual QString genNic( long nr );
26 26
27private: 27private:
28 28
29 virtual void setSpecificAttribute( QString & Attr, QString & Value ); 29 virtual void setSpecificAttribute( QString & Attr, QString & Value );
diff --git a/noncore/settings/networksettings2/usb/usb_NNI.cpp b/noncore/settings/networksettings2/usb/usb_NNI.cpp
index 50c6e8d..600b771 100644
--- a/noncore/settings/networksettings2/usb/usb_NNI.cpp
+++ b/noncore/settings/networksettings2/usb/usb_NNI.cpp
@@ -29,33 +29,31 @@ QString AUSB::acceptable( void ) {
29void AUSB::commit( void ) { 29void AUSB::commit( void ) {
30 if( GUI && GUI->commit( Data ) ) { 30 if( GUI && GUI->commit( Data ) ) {
31 setModified( 1 ); 31 setModified( 1 );
32 } 32 }
33} 33}
34 34
35short AUSB::generateFileEmbedded( const QString & ID, 35short AUSB::generateFileEmbedded( SystemFile & SF,
36 const QString & Path,
37 QTextStream & TS,
38 long DevNr ) { 36 long DevNr ) {
39 37
40 QString NIC = runtime()->device()->netNode()->nodeClass()->genNic( DevNr ); 38 QString NIC = runtime()->device()->netNode()->nodeClass()->genNic( DevNr );
41 short rvl, rvd; 39 short rvl, rvd;
42 40
43 rvl = 1; 41 rvl = 1;
44 42
45 if( ID == "interfaces" ) { 43 if( SF.name() == "interfaces" ) {
46 Log(("Generate USB for %s\n", ID.latin1() )); 44 Log(("Generate USB for %s\n", SF.name().latin1() ));
47 // generate mapping stanza for this interface 45 // generate mapping stanza for this interface
48 TS << " pre-up " 46 SF << " pre-up "
49 << QPEApplication::qpeDir() 47 << QPEApplication::qpeDir()
50 << "bin/setmacaddress.sh " 48 << "bin/setmacaddress.sh "
51 << NIC 49 << NIC
52 << " || true" 50 << " || true"
53 << endl; 51 << endl;
54 rvl = 0; 52 rvl = 0;
55 } 53 }
56 rvd = ANetNodeInstance::generateFileEmbedded( ID, Path, TS, DevNr ); 54 rvd = ANetNodeInstance::generateFileEmbedded(SF, DevNr );
57 55
58 return (rvd == 2 || rvl == 2 ) ? 2 : 56 return (rvd == 2 || rvl == 2 ) ? 2 :
59 (rvd == 0 || rvl == 0 ) ? 0 : 1; 57 (rvd == 0 || rvl == 0 ) ? 0 : 1;
60 58
61} 59}
diff --git a/noncore/settings/networksettings2/usb/usb_NNI.h b/noncore/settings/networksettings2/usb/usb_NNI.h
index fcdfd91..27e71ee 100644
--- a/noncore/settings/networksettings2/usb/usb_NNI.h
+++ b/noncore/settings/networksettings2/usb/usb_NNI.h
@@ -23,15 +23,13 @@ public :
23 QString acceptable( void ); 23 QString acceptable( void );
24 void commit( void ); 24 void commit( void );
25 25
26 virtual void * data( void ) 26 virtual void * data( void )
27 { return (void *)&Data; } 27 { return (void *)&Data; }
28 28
29 virtual short generateFileEmbedded( const QString & ID, 29 virtual short generateFileEmbedded( SystemFile & TS,
30 const QString & Path,
31 QTextStream & TS,
32 long DevNr ); 30 long DevNr );
33 31
34protected : 32protected :
35 33
36 virtual void setSpecificAttribute( QString & Attr, QString & Value ); 34 virtual void setSpecificAttribute( QString & Attr, QString & Value );
37 virtual void saveSpecificAttribute( QTextStream & TS ); 35 virtual void saveSpecificAttribute( QTextStream & TS );
diff --git a/noncore/settings/networksettings2/usb/usbdata.h b/noncore/settings/networksettings2/usb/usbdata.h
index c59f508..fa357b5 100644
--- a/noncore/settings/networksettings2/usb/usbdata.h
+++ b/noncore/settings/networksettings2/usb/usbdata.h
@@ -1,8 +1,9 @@
1#ifndef USB_DATA_H 1#ifndef USB_DATA_H
2#define USB_DATA_H 2#define USB_DATA_H
3 3
4typedef struct USBData { 4class USBData {
5public :
5 bool Fake; 6 bool Fake;
6} USBData_t; 7} ;
7 8
8#endif 9#endif
diff --git a/noncore/settings/networksettings2/usb/usbedit.cpp b/noncore/settings/networksettings2/usb/usbedit.cpp
index 153c497..cc96b96 100644
--- a/noncore/settings/networksettings2/usb/usbedit.cpp
+++ b/noncore/settings/networksettings2/usb/usbedit.cpp
@@ -6,12 +6,12 @@ USBEdit::USBEdit( QWidget * Parent ) : USBGUI( Parent ){
6} 6}
7 7
8QString USBEdit::acceptable( void ) { 8QString USBEdit::acceptable( void ) {
9 return QString(); 9 return QString();
10} 10}
11 11
12void USBEdit::showData( USBData_t & Data ) { 12void USBEdit::showData( USBData & Data ) {
13} 13}
14 14
15bool USBEdit::commit( USBData_t & Data ) { 15bool USBEdit::commit( USBData & Data ) {
16 return 1; 16 return 1;
17} 17}
diff --git a/noncore/settings/networksettings2/usb/usbedit.h b/noncore/settings/networksettings2/usb/usbedit.h
index 441f2f0..4179898 100644
--- a/noncore/settings/networksettings2/usb/usbedit.h
+++ b/noncore/settings/networksettings2/usb/usbedit.h
@@ -4,9 +4,9 @@
4class USBEdit : public USBGUI { 4class USBEdit : public USBGUI {
5 5
6public : 6public :
7 7
8 USBEdit( QWidget * parent ); 8 USBEdit( QWidget * parent );
9 QString acceptable( void ); 9 QString acceptable( void );
10 bool commit( USBData_t & Data ); 10 bool commit( USBData & Data );
11 void showData( USBData_t & Data ); 11 void showData( USBData & Data );
12}; 12};
diff --git a/noncore/settings/networksettings2/usb/usbrun.cpp b/noncore/settings/networksettings2/usb/usbrun.cpp
index b8ac8a8..f8824e0 100644
--- a/noncore/settings/networksettings2/usb/usbrun.cpp
+++ b/noncore/settings/networksettings2/usb/usbrun.cpp
@@ -1,16 +1,17 @@
1#include <qfile.h> 1#include <qfile.h>
2#include <qfileinfo.h> 2#include <qfileinfo.h>
3#include <qtextstream.h> 3#include <qtextstream.h>
4#include <resources.h> 4#include <resources.h>
5#include "usbrun.h" 5#include "usbrun.h"
6 6
7void USBRun::detectState( NodeCollection * NC ) { 7State_t USBRun::detectState( void ) {
8 // unavailable : no card found 8 // unavailable : no card found
9 // available : card found and assigned to us or free 9 // available : card found and assigned to us or free
10 // up : card found and assigned to us and up 10 // up : card found and assigned to us and up
11 NodeCollection * NC = nodeCollection();
11 QString S = QString( "/tmp/profile-%1.up" ).arg(NC->number()); 12 QString S = QString( "/tmp/profile-%1.up" ).arg(NC->number());
12 System & Sys = NSResources->system(); 13 System & Sys = NSResources->system();
13 InterfaceInfo * Run; 14 InterfaceInfo * Run;
14 QFile F( S ); 15 QFile F( S );
15 Log(("Detecting for %s\n", NC->name().latin1() )); 16 Log(("Detecting for %s\n", NC->name().latin1() ));
16 17
@@ -24,33 +25,30 @@ void USBRun::detectState( NodeCollection * NC ) {
24 if( handlesInterface( X ) ) { 25 if( handlesInterface( X ) ) {
25 for( QDictIterator<InterfaceInfo> It(Sys.interfaces()); 26 for( QDictIterator<InterfaceInfo> It(Sys.interfaces());
26 It.current(); 27 It.current();
27 ++It ) { 28 ++It ) {
28 Run = It.current(); 29 Run = It.current();
29 if( X == Run->Name ) { 30 if( X == Run->Name ) {
30 Run->assignNode( netNode() ); 31 NC->assignInterface( Run );
31 assignInterface( Run ); 32 return IsUp;
32 NC->setCurrentState( IsUp );
33 return;
34 } 33 }
35 } 34 }
36 } 35 }
37 } 36 }
38 37
39 Log(("Assigned %p\n", assignedInterface() )); 38 Log(("Assigned %p\n", NC->assignedInterface() ));
40 if( ( Run = assignedInterface() ) ) { 39 if( ( Run = NC->assignedInterface() ) ) {
41 // we already have an interface assigned -> still present ? 40 // we already have an interface assigned -> still present ?
42 if( ! Run->IsUp ) { 41 if( ! Run->IsUp ) {
43 // usb is still free -> keep assignment 42 // usb is still free -> keep assignment
44 NC->setCurrentState( Available ); 43 return Available;
45 return;
46 } // else interface is up but NOT us -> some other profile 44 } // else interface is up but NOT us -> some other profile
47 } 45 }
48 46
49 // nothing (valid) assigned to us 47 // nothing (valid) assigned to us
50 assignInterface( 0 ); 48 NC->assignInterface( 0 );
51 49
52 // find possible interface 50 // find possible interface
53 for( QDictIterator<InterfaceInfo> It(Sys.interfaces()); 51 for( QDictIterator<InterfaceInfo> It(Sys.interfaces());
54 It.current(); 52 It.current();
55 ++It ) { 53 ++It ) {
56 Run = It.current(); 54 Run = It.current();
@@ -62,90 +60,22 @@ void USBRun::detectState( NodeCollection * NC ) {
62 ! Run->IsUp )); 60 ! Run->IsUp ));
63 61
64 if( handlesInterface( Run->Name ) && 62 if( handlesInterface( Run->Name ) &&
65 Run->CardType == ARPHRD_ETHER && 63 Run->CardType == ARPHRD_ETHER &&
66 ! Run->IsUp 64 ! Run->IsUp
67 ) { 65 ) {
68 Log(("Released(OFF)\n" ));
69 // proper type, and Not UP -> free 66 // proper type, and Not UP -> free
70 NC->setCurrentState( Off ); 67 return Off;
71 return;
72 } 68 }
73 } 69 }
74 // no free found
75 Log(("UNA\n" ));
76 70
77 NC->setCurrentState( Unavailable ); 71 return Unavailable;
78} 72}
79 73
80bool USBRun::setState( NodeCollection * NC, Action_t A, bool ) { 74QString USBRun::setMyState( NodeCollection *, Action_t , bool ) {
81 75 return QString();
82 // we only handle activate and deactivate
83 switch( A ) {
84 case Activate :
85 {
86 if( NC->currentState() != Off ) {
87 return 0;
88 }
89 InterfaceInfo * N = getInterface();
90 if( ! N ) {
91 // no interface available
92 NC->setCurrentState( Unavailable );
93 return 0;
94 }
95 // because we were OFF the interface
96 // we get back is NOT assigned
97 N->assignNode( netNode() );
98 assignInterface( N );
99 Log(("Assing %p\n", N ));
100 NC->setCurrentState( Available );
101 return 1;
102 }
103 case Deactivate :
104 if( NC->currentState() == IsUp ) {
105 // bring down first
106 if( ! connection()->setState( Down ) )
107 // could not ...
108 return 0;
109 } else if( NC->currentState() != Available ) {
110 return 1;
111 }
112 assignedInterface()->assignNode( 0 ); // release
113 assignInterface( 0 );
114 NC->setCurrentState( Off );
115 return 1;
116 default :
117 // FT
118 break;
119 }
120 return 0;
121}
122
123bool USBRun::canSetState( State_t Curr, Action_t A ) {
124 // we only handle up down activate and deactivate
125 switch( A ) {
126 case Activate :
127 { // at least available
128 if( Curr == Available ) {
129 return 1;
130 }
131 // or we can make one available
132 InterfaceInfo * N = getInterface();
133 if( ! N || N->assignedNode() != 0 ) {
134 // non available or assigned
135 return 0;
136 }
137 return 1;
138 }
139 case Deactivate :
140 return ( Curr >= Available );
141 default :
142 // FT
143 break;
144 }
145 return 0;
146} 76}
147 77
148// get interface that is free or assigned to us 78// get interface that is free or assigned to us
149InterfaceInfo * USBRun::getInterface( void ) { 79InterfaceInfo * USBRun::getInterface( void ) {
150 80
151 System & S = NSResources->system(); 81 System & S = NSResources->system();
@@ -157,22 +87,26 @@ InterfaceInfo * USBRun::getInterface( void ) {
157 ++It ) { 87 ++It ) {
158 Run = It.current(); 88 Run = It.current();
159 if( handlesInterface( Run->Name ) && 89 if( handlesInterface( Run->Name ) &&
160 Run->CardType == ARPHRD_ETHER 90 Run->CardType == ARPHRD_ETHER
161 ) { 91 ) {
162 // this is a USB card 92 // this is a USB card
163 if( Run->assignedNode() == netNode() ) { 93 if( Run->assignedConnection() == netNode()->connection() ) {
164 // assigned to us 94 // assigned to us
165 return Run; 95 return Run;
166 } else if( Run->assignedNode() == 0 ) { 96 } else if( Run->assignedConnection() == 0 ) {
167 // free 97 // free
168 best = Run; 98 best = Run;
169 } 99 }
170 } 100 }
171 } 101 }
172 return best; // can be 0 102 return best; // can be 0
173} 103}
174 104
175bool USBRun::handlesInterface( const QString & S ) { 105bool USBRun::handlesInterface( const QString & S ) {
176 return Pat.match( S ) >= 0; 106 return Pat.match( S ) >= 0;
177} 107}
178 108
109bool USBRun::handlesInterface( InterfaceInfo * I ) {
110 return handlesInterface( I->Name );
111}
112
diff --git a/noncore/settings/networksettings2/usb/usbrun.h b/noncore/settings/networksettings2/usb/usbrun.h
index 03e21ab..6ce4fa2 100644
--- a/noncore/settings/networksettings2/usb/usbrun.h
+++ b/noncore/settings/networksettings2/usb/usbrun.h
@@ -1,35 +1,34 @@
1#ifndef USBRUN_H 1#ifndef USBRUN_H
2#define USBRUN_H 2#define USBRUN_H
3 3
4#include <asdevice.h> 4#include <netnode.h>
5#include <qregexp.h> 5#include <qregexp.h>
6#include "usbdata.h" 6#include "usbdata.h"
7 7
8class USBRun : public AsDevice { 8class USBRun : public RuntimeInfo {
9 9
10public : 10public :
11 11
12 USBRun( ANetNodeInstance * NNI, 12 USBRun( ANetNodeInstance * NNI,
13 USBData & Data ) : 13 USBData & Data ) :
14 AsDevice( NNI ), 14 RuntimeInfo( NNI ),
15 Pat( "usb[0-9abcdef]" ) 15 Pat( "usb[0-9abcdef]" ) {
16 { } 16 }
17 17
18 virtual AsDevice * device( void ) 18 virtual RuntimeInfo * device( void )
19 { return (AsDevice *)this; } 19 { return this; }
20 20
21 virtual AsDevice * asDevice( void ) 21 bool handlesInterface( const QString & I );
22 { return (AsDevice *)this; } 22 bool handlesInterface( InterfaceInfo * );
23protected :
24 23
25 void detectState( NodeCollection * ); 24 State_t detectState( void );
26 bool setState( NodeCollection * , Action_t A, bool );
27 bool canSetState( State_t , Action_t A );
28 25
29 bool handlesInterface( const QString & I ); 26protected :
27
28 QString setMyState( NodeCollection * , Action_t, bool );
30 29
31private : 30private :
32 31
33 InterfaceInfo * getInterface( void ); 32 InterfaceInfo * getInterface( void );
34 QRegExp Pat; 33 QRegExp Pat;
35 34