diff options
author | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2010-01-03 20:55:14 +0100 |
---|---|---|
committer | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2010-01-03 20:55:14 +0100 |
commit | e8a6191060db4816a567c773ecfaf3e4ab5ef266 (patch) | |
tree | afebf637a1c2a337a4be0b6488f29fe85a0aebd2 /fsogsmd | |
parent | 3043cea4c85021b88e355783aad586898944e87e (diff) | |
download | cornucopia-e8a6191060db4816a567c773ecfaf3e4ab5ef266.tar.gz cornucopia-e8a6191060db4816a567c773ecfaf3e4ab5ef266.tar.bz2 cornucopia-e8a6191060db4816a567c773ecfaf3e4ab5ef266.zip |
fsogsmd: catch up with separation of ppp and muxppp handlers
Diffstat (limited to 'fsogsmd')
-rw-r--r-- | fsogsmd/src/lib/muxppp.vala | 27 | ||||
-rw-r--r-- | fsogsmd/src/lib/pdp.vala | 23 |
2 files changed, 11 insertions, 39 deletions
diff --git a/fsogsmd/src/lib/muxppp.vala b/fsogsmd/src/lib/muxppp.vala index 55dfbdac..01ae310f 100644 --- a/fsogsmd/src/lib/muxppp.vala +++ b/fsogsmd/src/lib/muxppp.vala @@ -57,23 +57,12 @@ public class FsoGsm.MuxPppPdpHandler : FsoGsm.PdpHandler, FsoFramework.AbstractO var data = theModem.data(); var cmdline = new string[] { data.pppCommand }; - // check whether we should use a pipe or not - var port = theModem.allocateDataPort(); - var intport = port.to_int(); - if ( intport > 0 ) - { - logger.info( @"Using pppd in PIPE mode via fd $(intport)" ); - } - else - { - cmdline += port; - } - // add modem specific options to command line foreach ( var option in data.pppOptions ) { cmdline += option; } + var muxtransport = theModem.channel( "data" ).transport; /* // prepare modem @@ -84,16 +73,16 @@ public class FsoGsm.MuxPppPdpHandler : FsoGsm.PdpHandler, FsoFramework.AbstractO // launch ppp ppp = new FsoFramework.GProcessGuard(); - ppp.stopped.connect( onPppStopped ); - if ( intport > 0 ) - { - ppp.launch( cmdline ); - } - else + var inputfd = 0; + var outputfd = 0; + + ppp.stopped.connect( onPppStopped ); + if ( !ppp.launchWithPipes( cmdline, out inputfd, out outputfd ) ) { - ppp.launchWithPipe( cmdline, intport ); + throw new FreeSmartphone.Error.SYSTEM_ERROR( "Could not launch ppp" ); } + //FIXME: Set mux transport into ppp mode and start piping data to/from ppp/muxtransport } public async void deactivate() diff --git a/fsogsmd/src/lib/pdp.vala b/fsogsmd/src/lib/pdp.vala index 3b9395f9..5cd2d5d0 100644 --- a/fsogsmd/src/lib/pdp.vala +++ b/fsogsmd/src/lib/pdp.vala @@ -59,20 +59,7 @@ public class FsoGsm.AtPdpHandler : FsoGsm.PdpHandler, FsoFramework.AbstractObjec // build ppp command line var data = theModem.data(); - var cmdline = new string[] { data.pppCommand }; - - // check whether we should use a pipe or not - var port = theModem.allocateDataPort(); - var intport = port.to_int(); - if ( intport > 0 ) - { - logger.info( @"Using pppd in PIPE mode via fd $(intport)" ); - } - else - { - cmdline += port; - } - + var cmdline = new string[] { data.pppCommand, theModem.allocateDataPort() }; // add modem specific options to command line foreach ( var option in data.pppOptions ) { @@ -90,13 +77,9 @@ public class FsoGsm.AtPdpHandler : FsoGsm.PdpHandler, FsoFramework.AbstractObjec ppp = new FsoFramework.GProcessGuard(); ppp.stopped.connect( onPppStopped ); - if ( intport > 0 ) - { - ppp.launch( cmdline ); - } - else + if ( !ppp.launch( cmdline ) ) { - ppp.launchWithPipe( cmdline, intport ); + throw new FreeSmartphone.Error.SYSTEM_ERROR( "Could not launch ppp binary" ); } } |