[RFC] Code reordering, comments welcome

Dan Williams dcbw at redhat.com
Mon Feb 1 16:54:36 CET 2016


On Sat, 2016-01-30 at 17:30 -0800, Aleksander Morgado wrote:
> Hey,
> 
> The src/ directory is a bit messy, and some files are growing out of
> control (e.g. mm-broadband-modem.c, mm-broadband-modem-qmi.c, ...).
> How about we reorder a bit the code like this?
> 
> src/core  <---- main app code, including probing stuff.
> src/ports <---- ports (e.g. the 'libports' we internally generate)
> src/base <---- Base modem, sim, bearer objects (protocol independent
> abstract classes).
> src/at <---- the generic AT broadband modem, sim, bearer (*)
> src/qmi <---- the generic QMI broadband modem, sim, bearer
> src/mbim <---- the generic QMI broadband modem, sim, bearer
> 
> Then, for e.g. the QMI modem we could have
> per-implemented-interface-files; e.g.:
> mm-broadband-modem-qmi.c  <---- generic/common QMI stuff
> mm-broadband-modem-qmi-3gpp.c  <---- 3GPP interface specific QMI
> implementation
> mm-broadband-modem-qmi-3gpp2.c  <---- 3GPP2 interface specific QMI
> implementation
> mm-broadband-modem-qmi-location.c  <---- Location interface specific
> QMI implementation
> 
> (*) The new MMBroadbandModemAt would have only the AT-specific stuff
> from the current mm-broadband-modem.c; the generic
> protocol-independent logic should be kept in an abstract
> MMBroadbandModem (or even in the MMBaseModem).
> 
> If we agree to do something like this, I believe it should be done
> before the next stable release, so that then backporting patches to
> the latest stable is straightforward.
> 
> I think it's a bit of work, but I wouldn't mind to do it if the
> overall result ends up being easier to maintain and also easier to
> learn for newcomers (I've already been told a couple of times that
> having everything in the same directory doesn't help to understand
> how
> the different parts of the daemon work...).
> 
> What does everyone think?

Works for me.

Dan


More information about the ModemManager-devel mailing list