summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/network
authorwimpie <wimpie>2004-08-12 12:46:55 (UTC)
committer wimpie <wimpie>2004-08-12 12:46:55 (UTC)
commit8f215ba9ceb395f262517855a99d7d2d303ca760 (patch) (unidiff)
treeaa5f9b14c249217b4d3fc30f4771bdaf1c3545d3 /noncore/settings/networksettings2/network
parentef64880308b5035cc8ca2e4e79325db613af525b (diff)
downloadopie-8f215ba9ceb395f262517855a99d7d2d303ca760.zip
opie-8f215ba9ceb395f262517855a99d7d2d303ca760.tar.gz
opie-8f215ba9ceb395f262517855a99d7d2d303ca760.tar.bz2
MANY changes
- now generates peers/pap-chap secrets files (no chatscript yet) (not all usefull ppp options included yet) - still not ready for prime time yet
Diffstat (limited to 'noncore/settings/networksettings2/network') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/network/network_NN.cpp42
-rw-r--r--noncore/settings/networksettings2/network/network_NN.h31
-rw-r--r--noncore/settings/networksettings2/network/network_NNI.cpp122
-rw-r--r--noncore/settings/networksettings2/network/network_NNI.h19
4 files changed, 132 insertions, 82 deletions
diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp
index b4313c4..1feffdb 100644
--- a/noncore/settings/networksettings2/network/network_NN.cpp
+++ b/noncore/settings/networksettings2/network/network_NN.cpp
@@ -1,3 +1,4 @@
1#include <asdevice.h>
1#include "network_NN.h" 2#include "network_NN.h"
2#include "network_NNI.h" 3#include "network_NNI.h"
3 4
@@ -30,23 +31,42 @@ ANetNodeInstance * NetworkNetNode::createInstance( void ) {
30 return new ANetwork( this ); 31 return new ANetwork( this );
31} 32}
32 33
33const char ** NetworkNetNode::needs( void ) { 34bool NetworkNetNode::hasDataForFile( const QString & S ) {
34 return NetworkNeeds; 35 return S == "interfaces";
35} 36}
36 37
37const char * NetworkNetNode::provides( void ) { 38short NetworkNetNode::generateFile( const QString & ID,
38 return "connection"; 39 const QString & ,
40 QTextStream & TS,
41 ANetNodeInstance * NNI,
42 long DevNr ) {
43
44 QString NIC = NNI->runtime()->device()->netNode()->nodeClass()->genNic( DevNr );
45
46 if( ID == "interfaces" ) {
47 Log(("Generate entry for %s in %s\n", NIC.latin1(), ID.latin1() ));
48 // generate mapping stanza for this interface
49 TS << "# check if "
50 << NIC
51 << " can be brought UP"
52 << endl;
53 TS << "mapping "
54 << NIC
55 << endl;
56 TS << " script networksettings2-request"
57 << endl
58 << endl;
59 return 0;
60 }
61 return 1;
39} 62}
40 63
41bool NetworkNetNode::generateProperFilesFor( 64const char ** NetworkNetNode::needs( void ) {
42 ANetNodeInstance * ) { 65 return NetworkNeeds;
43 return 0;
44} 66}
45 67
46bool NetworkNetNode::generateDeviceDataForCommonFile( 68const char * NetworkNetNode::provides( void ) {
47 SystemFile & , 69 return "connection";
48 long ) {
49 return 0;
50} 70}
51 71
52void NetworkNetNode::setSpecificAttribute( QString & , QString & ) { 72void NetworkNetNode::setSpecificAttribute( QString & , QString & ) {
diff --git a/noncore/settings/networksettings2/network/network_NN.h b/noncore/settings/networksettings2/network/network_NN.h
index 6548c32..745d1a7 100644
--- a/noncore/settings/networksettings2/network/network_NN.h
+++ b/noncore/settings/networksettings2/network/network_NN.h
@@ -7,28 +7,27 @@ class ANetwork;
7 7
8class NetworkNetNode : public ANetNode{ 8class NetworkNetNode : public ANetNode{
9 9
10 Q_OBJECT 10 Q_OBJECT
11 11
12public: 12public:
13 13
14 NetworkNetNode(); 14 NetworkNetNode();
15 virtual ~NetworkNetNode(); 15 virtual ~NetworkNetNode();
16 16
17 virtual const QString pixmapName() 17 virtual bool hasDataForFile( const QString & S );
18 { return "Devices/tcpip"; }
19 18
20 virtual const QString nodeDescription() ; 19 virtual short generateFile( const QString & ID,
20 const QString & Path,
21 QTextStream & TS,
22 ANetNodeInstance * NNI,
23 long DevNr );
24 virtual const QString pixmapName()
25 { return "Devices/tcpip"; }
21 26
22 virtual ANetNodeInstance * createInstance( void ); 27 virtual const QString nodeDescription() ;
23 28 virtual ANetNodeInstance * createInstance( void );
24 virtual const char ** needs( void ); 29 virtual const char ** needs( void );
25 virtual const char * provides( void ); 30 virtual const char * provides( void );
26
27 virtual bool generateProperFilesFor( ANetNodeInstance * NNI );
28 virtual bool hasDataFor( const QString & )
29 { return 0; }
30 virtual bool generateDeviceDataForCommonFile(
31 SystemFile & SF, long DevNr );
32 31
33private: 32private:
34 33
diff --git a/noncore/settings/networksettings2/network/network_NNI.cpp b/noncore/settings/networksettings2/network/network_NNI.cpp
index 3e368a2..324c6e2 100644
--- a/noncore/settings/networksettings2/network/network_NNI.cpp
+++ b/noncore/settings/networksettings2/network/network_NNI.cpp
@@ -99,57 +99,71 @@ void ANetwork::commit( void ) {
99 setModified( 1 ); 99 setModified( 1 );
100} 100}
101 101
102bool ANetwork::hasDataFor( const QString & S ) { 102bool ANetwork::hasDataForFile( const QString & S ) {
103 return S == "interfaces"; 103 return S == "interfaces";
104} 104}
105 105
106bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) { 106short ANetwork::generateFile( const QString & ID,
107 const QString & Path,
108 QTextStream &TS,
109 long DevNr
110 ) {
111
112 short rvl, rvd ;
107 QString NIC = runtime()->device()->netNode()->nodeClass()->genNic( DevNr ); 113 QString NIC = runtime()->device()->netNode()->nodeClass()->genNic( DevNr );
108 114
109 if( S.name() == "interfaces" ) { 115 rvl = 1;
116 if( ID == "interfaces" ) {
117 Log(("Generate Network for %s\n", ID.latin1() ));
110 // we can safely call from here since device item is deeper 118 // we can safely call from here since device item is deeper
111 if( Data.UseDHCP ) { 119 if( Data.UseDHCP ) {
112 S << "iface " 120 TS << "iface "
113 << NIC 121 << NIC
114 << "-c" 122 << "-c"
115 << connection()->number() 123 << connection()->number()
116 << "-allowed inet dhcp" 124 << "-allowed inet dhcp"
117 << endl; 125 << endl;
118 S << " up echo \"" 126 TS << " up echo \""
119 << NIC 127 << NIC
120 << "\" > /tmp/profile-" 128 << "\" > /tmp/profile-"
121 << connection()->number() 129 << connection()->number()
122 << ".up" 130 << ".up"
123 << endl; 131 << endl;
124 if( Data.SendHostname ) { 132 if( Data.SendHostname ) {
125 S << " hostname " 133 TS << " hostname "
126 << Data.Hostname 134 << Data.Hostname
127 << endl; 135 << endl;
128 } 136 }
129 137
130 S << " down rm -f /tmp/profile-" 138 TS << " down rm -f /tmp/profile-"
131 << connection()->number() 139 << connection()->number()
132 << ".up" 140 << ".up"
133 << endl; 141 << endl;
134 } else { 142 } else {
135 S << "iface " 143 TS << "iface "
136 << NIC << "-c" 144 << NIC << "-c"
137 << connection()->number() 145 << connection()->number()
138 << "-allowed inet static" 146 << "-allowed inet static"
139 << endl; 147 << endl;
140 S << " up echo \"" 148 TS << " up echo \""
141 << NIC 149 << NIC
142 << "\" > /tmp/profile-" 150 << "\" > /tmp/profile-"
143 << connection()->number() 151 << connection()->number()
144 << ".up" 152 << ".up"
145 << endl; 153 << endl;
146 S << " down rm -f /tmp/profile-" 154 TS << " down rm -f /tmp/profile-"
147 << connection()->number() 155 << connection()->number()
148 << ".up" 156 << ".up"
149 << endl; 157 << endl;
150 S << " address " << Data.IPAddress << endl; 158 TS << " address "
151 S << " broadcast " << Data.Broadcast << endl; 159 << Data.IPAddress
152 S << " netmask " << Data.NetMask << endl; 160 << endl;
161 TS << " broadcast "
162 << Data.Broadcast
163 << endl;
164 TS << " netmask "
165 << Data.NetMask
166 << endl;
153 167
154 // derive network address = IPAddress & netmask 168 // derive network address = IPAddress & netmask
155 { QString NW; 169 { QString NW;
@@ -161,29 +175,45 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
161 arg( ipal[1].toShort() & nmal[1].toShort() ). 175 arg( ipal[1].toShort() & nmal[1].toShort() ).
162 arg( ipal[2].toShort() & nmal[2].toShort() ). 176 arg( ipal[2].toShort() & nmal[2].toShort() ).
163 arg( ipal[3].toShort() & nmal[3].toShort() ); 177 arg( ipal[3].toShort() & nmal[3].toShort() );
164 S << " network " << NW << endl; 178 TS << " network "
179 << NW
180 << endl;
165 } 181 }
166 } 182 }
167 for ( QStringList::Iterator it = Data.PreUp_SL.begin(); 183 for ( QStringList::Iterator it = Data.PreUp_SL.begin();
168 it != Data.PreUp_SL.end(); 184 it != Data.PreUp_SL.end();
169 ++it ) { 185 ++it ) {
170 S << " pre-up " << (*it) << endl; 186 TS << " pre-up "
187 << (*it)
188 << endl;
171 } 189 }
172 for ( QStringList::Iterator it = Data.PostUp_SL.begin(); 190 for ( QStringList::Iterator it = Data.PostUp_SL.begin();
173 it != Data.PostUp_SL.end(); 191 it != Data.PostUp_SL.end();
174 ++it ) { 192 ++it ) {
175 S << " up " << (*it) << endl; 193 TS << " up "
194 << (*it)
195 << endl;
176 } 196 }
177 for ( QStringList::Iterator it = Data.PreDown_SL.begin(); 197 for ( QStringList::Iterator it = Data.PreDown_SL.begin();
178 it != Data.PreDown_SL.end(); 198 it != Data.PreDown_SL.end();
179 ++it ) { 199 ++it ) {
180 S << " down " << (*it) << endl; 200 TS << " down "
201 << (*it)
202 << endl;
181 } 203 }
182 for ( QStringList::Iterator it = Data.PostDown_SL.begin(); 204 for ( QStringList::Iterator it = Data.PostDown_SL.begin();
183 it != Data.PostDown_SL.end(); 205 it != Data.PostDown_SL.end();
184 ++it ) { 206 ++it ) {
185 S << " post-down " << (*it) << endl; 207 TS << " post-down "
208 << (*it)
209 << endl;
186 } 210 }
211 rvl = 0;
187 } 212 }
188 return 0; 213
214 // embed other info in it
215 rvd = connection()->getToplevel()->generateFileEmbedded( ID, Path, TS, DevNr );
216
217 return (rvd == 2 || rvl == 2 ) ? 2 :
218 (rvd == 0 || rvl == 0 ) ? 0 : 1;
189} 219}
diff --git a/noncore/settings/networksettings2/network/network_NNI.h b/noncore/settings/networksettings2/network/network_NNI.h
index 0058793..5e42503 100644
--- a/noncore/settings/networksettings2/network/network_NNI.h
+++ b/noncore/settings/networksettings2/network/network_NNI.h
@@ -15,22 +15,23 @@ public :
15 15
16 ANetwork( NetworkNetNode * PNN ); 16 ANetwork( NetworkNetNode * PNN );
17 17
18 RuntimeInfo * runtime( void )
19 { return
20 ( RT ) ? RT : ( RT = new NetworkRun( this, Data ) );
21 }
22
18 QWidget * edit( QWidget * parent ); 23 QWidget * edit( QWidget * parent );
19 QString acceptable( void ); 24 QString acceptable( void );
20 void commit( void ); 25 void commit( void );
21 26
22 RuntimeInfo * runtime( void )
23 { if( RT == 0 )
24 RT = new NetworkRun( this, Data );
25 return RT;
26 }
27
28 virtual void * data( void ) 27 virtual void * data( void )
29 { return (void *)&Data; } 28 { return (void *)&Data; }
30 29
31 virtual bool hasDataFor( const QString & S ); 30 virtual bool hasDataForFile( const QString & S );
32 virtual bool generateDataForCommonFile( 31 virtual short generateFile( const QString & ID,
33 SystemFile & SF, long DevNr ); 32 const QString & Path,
33 QTextStream &TS,
34 long DevNr );
34 35
35protected : 36protected :
36 37