aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem-at.h
AgeCommit message (Collapse)Author
2025-03-11treewide: Fix typosGuido Günther
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-04-23base-modem-at: switch to use the MMIfacePortAt by defaultAleksander Morgado
The whole codebase is updated to assume the MMBaseModem AT operations require an object implementing the MMIfacePortAt interface, instead of a MMPortSerialAt object. In the places where we know the port is a MMPortSerialAt, e.g. when we query explicitly for the primary or secondary serial AT port, we will use an explicit MM_IFACE_PORT_AT() cast when calling the AT command method. In the places where we get_best_at_port() we're going to assume that we don't know the port type. This method will be updated in a follow up commit to support the MMIfacePortAt interface as well.
2024-04-23base-modem-at: refactor implementationAleksander Morgado
No functional changes should happen. The purpose of this change is to align coding style with the rest of the project and also simplify the implementation of the different AT command handling methods, e.g. to avoid needing so many internal helper methods.
2024-04-12base-modem-at: remove unused at_command_raw() methodAleksander Morgado
2024-02-19base-modem-at: add optional wait before sending command in a sequenceDan Williams
Can be used for easier command retries where the generic sequence code handles the GTimeout source. Signed-off-by: Dan Williams <dcbw@redhat.com>
2020-06-28base-modem,at: response processors return a more specific enumAleksander Morgado
Instead of using the FALSE return of the method to indicate either a fatal error (if result_error was set) or the continuation request (if result_error wasn't set), provide a enum that has explicit states for all three possible values (failure, success or continue).
2020-06-28base-modem,at: improve documentation on response processor methodsAleksander Morgado
2020-01-31base-modem: define new helper MMBaseModemAtCommandAllocAleksander Morgado
It has the same exact format as MMBaseModemAtCommand, but its contents are assumed heap allocated. The only real purpose of this type is to allow defining static constant MMBaseModemAtCommand variables without warnings when using -Wdiscarded-qualifiers.
2014-02-13ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'Aleksander Morgado
2012-08-24base-modem-at: new `mm_base_modem_at_command_raw()'Aleksander Morgado
Equivalent to `mm_base_modem_at_command()', but with a raw setup.
2012-08-24base-modem-at: add 'raw' handling to `mm_base_modem_at_command_full()'Aleksander Morgado
2012-08-20novatel: flip secondary ports to AT mode during port setupAleksander Morgado
2012-03-16base-modem: implement new modem-wide cancellable, and rework AT commandsAleksander Morgado
Instead of the `_in_port()' variants, we'll provide more generic `_full()' methods. These should be used either if we want to send commands to a specific port, or if we want to use a specific user-provided GCancellable. In addition to this user-provided GCancellable, we keep the internal modem-wide one.
2012-03-15base-modem-at: indicate sequence status to response parsersDan Williams
Let parsers know if this command is the last in a sequence since they may want to handle errors differently if that's the case.
2012-03-15base-modem-at: refactor AT sequence/command handlingAleksander Morgado
Make a tight connection between the action of sending AT commands, either single or in a sequence, with the MMBaseModem object owning the port. This direct relation allows sending commands without specifying which port to use, so that the modem object can get the best port at each time, and handling all that in a single common place. The original mm-at API has also been modified so that when a single command is sent, a constant string is returned. We are allowed to return constant strings in mm_base_modem_at_command_finish() because the string itself is owned by the GSimpleAsyncResult, and hence, alive enough time. The GSimpleAsyncResult is completely disposed only after the async call is fully completed. Same reasoning behind the GVariant returned in the AT sequences; it should not be owned by the caller, it's a transfer-none in introspection terms.