summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/network/network_NNI.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings2/network/network_NNI.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/network/network_NNI.cpp122
1 files changed, 76 insertions, 46 deletions
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
@@ -101,3 +101,3 @@ void ANetwork::commit( void ) {
101 101
102bool ANetwork::hasDataFor( const QString & S ) { 102bool ANetwork::hasDataForFile( const QString & S ) {
103 return S == "interfaces"; 103 return S == "interfaces";
@@ -105,49 +105,63 @@ bool ANetwork::hasDataFor( const QString & S ) {
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
@@ -163,3 +177,5 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
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 }
@@ -169,3 +185,5 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
169 ++it ) { 185 ++it ) {
170 S << " pre-up " << (*it) << endl; 186 TS << " pre-up "
187 << (*it)
188 << endl;
171 } 189 }
@@ -174,3 +192,5 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
174 ++it ) { 192 ++it ) {
175 S << " up " << (*it) << endl; 193 TS << " up "
194 << (*it)
195 << endl;
176 } 196 }
@@ -179,3 +199,5 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
179 ++it ) { 199 ++it ) {
180 S << " down " << (*it) << endl; 200 TS << " down "
201 << (*it)
202 << endl;
181 } 203 }
@@ -184,6 +206,14 @@ bool ANetwork::generateDataForCommonFile( SystemFile & S, long DevNr ) {
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}