Top |
GFile * | device-file | Read / Write / Construct Only |
gboolean | device-no-file-check | Write / Construct Only |
gchar * | device-proxy-path | Write / Construct Only |
gchar * | device-wwan-iface | Read |
#define | QMI_DEVICE_FILE |
#define | QMI_DEVICE_NO_FILE_CHECK |
#define | QMI_DEVICE_PROXY_PATH |
#define | QMI_DEVICE_WWAN_IFACE |
#define | QMI_DEVICE_SIGNAL_INDICATION |
#define | QMI_DEVICE_SIGNAL_REMOVED |
struct | QmiDevice |
enum | QmiDeviceOpenFlags |
enum | QmiDeviceReleaseClientFlags |
QmiDeviceServiceVersionInfo | |
enum | QmiDeviceExpectedDataFormat |
GEnum ╰── QmiDeviceExpectedDataFormat GFlags ├── QmiDeviceOpenFlags ╰── QmiDeviceReleaseClientFlags GObject ╰── QmiDevice
QmiDevice is a generic type in charge of controlling the access of multiple QmiClient objects to the managed QMI port.
A QmiDevice can only handle one single QMI port.
void qmi_device_new (GFile *file
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously creates a QmiDevice object to manage file
.
When the operation is finished, callback
will be invoked. You can then call
qmi_device_new_finish()
to get the result of the operation.
file |
a GFile. |
|
cancellable |
optional GCancellable object, NULL to ignore. |
|
callback |
a GAsyncReadyCallback to call when the initialization is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
QmiDevice * qmi_device_new_finish (GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_new()
.
Since: 1.0
GFile *
qmi_device_get_file (QmiDevice *self
);
Get the GFile associated with this QmiDevice.
Since: 1.0
GFile *
qmi_device_peek_file (QmiDevice *self
);
Get the GFile associated with this QmiDevice, without increasing the reference count on the returned object.
Since: 1.0
const gchar *
qmi_device_get_path (QmiDevice *self
);
Get the system path of the underlying QMI device.
Since: 1.0
const gchar *
qmi_device_get_path_display (QmiDevice *self
);
Get the system path of the underlying QMI device in UTF-8.
Since: 1.0
const gchar *
qmi_device_get_wwan_iface (QmiDevice *self
);
Get the WWAN interface name associated with this /dev/cdc-wdm control port. This value will be loaded every time it's asked for it.
Since: 1.14
QmiDeviceExpectedDataFormat qmi_device_get_expected_data_format (QmiDevice *self
,GError **error
);
Retrieves the data format currently expected by the kernel in the network interface.
If QMI_DEVICE_EXPECTED_DATA_FORMAT_UNKNOWN
is returned, the user should assume
that 802.3 is the expected format.
a valid QmiDeviceExpectedDataFormat, or QMI_DEVICE_EXPECTED_DATA_FORMAT_UNKNOWN
if error
is set.
Since: 1.14
gboolean qmi_device_set_expected_data_format (QmiDevice *self
,QmiDeviceExpectedDataFormat format
,GError **error
);
Configures the data format currently expected by the kernel in the network interface.
self |
a QmiDevice. |
|
format |
a known QmiDeviceExpectedDataFormat. |
|
error |
Return location for error or |
Since: 1.14
gboolean
qmi_device_is_open (QmiDevice *self
);
Checks whether the QmiDevice is open for I/O.
Since: 1.0
void qmi_device_open (QmiDevice *self
,QmiDeviceOpenFlags flags
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously opens a QmiDevice for I/O.
When the operation is finished callback
will be called. You can then call
qmi_device_open_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
flags |
mask of QmiDeviceOpenFlags specifying how the device should be opened. |
|
timeout |
maximum time, in seconds, to wait for the device to be opened. |
|
cancellable |
optional GCancellable object, NULL to ignore. |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
gboolean qmi_device_open_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an asynchronous open operation started with qmi_device_open()
.
Since: 1.0
void qmi_device_close_async (QmiDevice *self
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously closes a QmiDevice, preventing any further I/O.
If this device was opened with QMI_DEVICE_OPEN_FLAGS_MBIM
, this
operation will wait for the response of the underlying MBIM close
sequence.
Closing a QmiDevice multiple times will not return an error.
When the operation is finished callback
will be called. You can then call
qmi_device_close_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
timeout |
maximum time, in seconds, to wait for the device to be closed. |
|
cancellable |
a GCancellable, or |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.18
gboolean qmi_device_close_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_close_async()
.
Since: 1.18
void qmi_device_allocate_client (QmiDevice *self
,QmiService service
,guint8 cid
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously allocates a new QmiClient in self
.
If QMI_CID_NONE is given in cid
, a new client ID will be allocated;
otherwise a client with the given cid
will be generated.
When the operation is finished callback
will be called. You can then call
qmi_device_allocate_client_finish()
to get the result of the operation.
Note: Clients for the QMI_SERVICE_CTL cannot be created with this method;
instead get/peek the implicit one from self
.
self |
a QmiDevice. |
|
service |
a valid QmiService. |
|
cid |
a valid client ID, or QMI_CID_NONE. |
|
timeout |
maximum time to wait. |
|
cancellable |
optional GCancellable object, NULL to ignore. |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
QmiClient * qmi_device_allocate_client_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_allocate_client()
.
Since: 1.0
void qmi_device_release_client (QmiDevice *self
,QmiClient *client
,QmiDeviceReleaseClientFlags flags
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously releases the QmiClient from the QmiDevice.
Once the QmiClient has been released, it cannot be used any more to perform operations.
When the operation is finished callback
will be called. You can then call
qmi_device_release_client_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
client |
the QmiClient to release. |
|
flags |
mask of QmiDeviceReleaseClientFlags specifying how the client should be released. |
|
timeout |
maximum time to wait. |
|
cancellable |
optional GCancellable object, NULL to ignore. |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
gboolean qmi_device_release_client_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_release_client()
.
Note that even if the release operation returns an error, the client should anyway be considered released, and shouldn't be used afterwards.
Since: 1.0
void qmi_device_set_instance_id (QmiDevice *self
,guint8 instance_id
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Sets the instance ID of the QmiDevice.
When the operation is finished callback
will be called. You can then call
qmi_device_set_instance_id_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
instance_id |
the instance ID. |
|
timeout |
maximum time to wait. |
|
cancellable |
optional GCancellable object, NULL to ignore. |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
gboolean qmi_device_set_instance_id_finish (QmiDevice *self
,GAsyncResult *res
,guint16 *link_id
,GError **error
);
Finishes an operation started with qmi_device_set_instance_id()
.
self |
a QmiDevice. |
|
res |
a GAsyncResult. |
|
link_id |
a placeholder for the output guint16, or NULL if not required. |
|
error |
Return location for error or |
Since: 1.0
void qmi_device_command (QmiDevice *self
,QmiMessage *message
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
qmi_device_command
has been deprecated since version 1.18 and should not be used in newly-written code.
Use qmi_device_command_full()
instead.
Asynchronously sends a generic QmiMessage to the device with no context.
When the operation is finished callback
will be called. You can then call
qmi_device_command_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
message |
the message to send. |
|
timeout |
maximum time, in seconds, to wait for the response. |
|
cancellable |
a GCancellable, or |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.0
QmiMessage * qmi_device_command_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
qmi_device_command_finish
has been deprecated since version 1.18. and should not be used in newly-written code.
Use qmi_device_command_full_finish()
instead.
Finishes an operation started with qmi_device_command()
.
a QmiMessage response, or NULL if error
is set. The returned value should be freed with qmi_message_unref()
.
Since: 1.0
void qmi_device_command_full (QmiDevice *self
,QmiMessage *message
,QmiMessageContext *message_context
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously sends a QmiMessage to the device.
The message will be processed according to the specific message_context
given.
When the operation is finished callback
will be called. You can then call
qmi_device_command_full_finish()
to get the result of the operation.
If no context
given, the behavior is the same as qmi_device_command()
.
self |
a QmiDevice. |
|
message |
the message to send. |
|
message_context |
the context of the message. |
|
timeout |
maximum time, in seconds, to wait for the response. |
|
cancellable |
a GCancellable, or |
|
callback |
a GAsyncReadyCallback to call when the operation is finished. |
|
user_data |
the data to pass to callback function. |
Since: 1.18
QmiMessage * qmi_device_command_full_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_command_full()
.
a QmiMessage response, or NULL if error
is set. The returned value should be freed with qmi_message_unref()
.
Since: 1.18
void qmi_device_get_service_version_info (QmiDevice *self
,guint timeout
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests the service version information of the device.
When the operation is finished, callback
will be invoked in the thread-default main loop of the thread you are calling this method from.
You can then call qmi_device_get_service_version_info_finish()
to get the result of the operation.
self |
a QmiDevice. |
|
timeout |
maximum time to wait for the method to complete, in seconds. |
|
cancellable |
a GCancellable or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied. |
|
user_data |
user data to pass to |
Since: 1.6
GArray * qmi_device_get_service_version_info_finish (QmiDevice *self
,GAsyncResult *res
,GError **error
);
Finishes an operation started with qmi_device_get_service_version_info()
.
a GArray of QmiDeviceServiceVersionInfo elements, or NULL if error
is set. The returned value should be freed with g_array_unref()
.
Since: 1.6
gchar *
qmi_device_open_flags_build_string_from_mask
(QmiDeviceOpenFlags mask
);
Builds a string containing a comma-separated list of nicknames for
each QmiDeviceOpenFlags in mask
.
a string with the list of nicknames, or NULL
if none given. The returned value should be freed with g_free()
.
[transfer full]
Since: 1.0
gchar *
qmi_device_release_client_flags_build_string_from_mask
(QmiDeviceReleaseClientFlags mask
);
Builds a string containing a comma-separated list of nicknames for
each QmiDeviceReleaseClientFlags in mask
.
a string with the list of nicknames, or NULL
if none given. The returned value should be freed with g_free()
.
[transfer full]
Since: 1.0
const gchar *
qmi_device_expected_data_format_get_string
(QmiDeviceExpectedDataFormat val
);
Gets the nickname string for the QmiDeviceExpectedDataFormat specified at val
.
a string with the nickname, or NULL
if not found. Do not free the returned value.
[transfer none]
Since: 1.14
#define QMI_DEVICE_FILE "device-file"
Symbol defining the “device-file” property.
Since: 1.0
#define QMI_DEVICE_NO_FILE_CHECK "device-no-file-check"
Symbol defining the “device-no-file-check” property.
Since: 1.12
#define QMI_DEVICE_PROXY_PATH "device-proxy-path"
Symbol defining the “device-proxy-path” property.
Since: 1.12
#define QMI_DEVICE_WWAN_IFACE "device-wwan-iface"
Symbol defining the “device-wwan-iface” property.
Since: 1.14
#define QMI_DEVICE_SIGNAL_INDICATION "indication"
Symbol defining the “indication” signal.
Since: 1.8
struct QmiDevice;
The QmiDevice structure contains private data and should only be accessed using the provided API.
Since: 1.0
Flags to specify which actions to be performed when the device is open.
No flags. |
||
Run version info check when opening. |
||
Synchronize with endpoint once the device is open. Will release any previously allocated client ID. |
||
set network port to "802.3" mode; mutually exclusive with |
||
set network port to "raw IP" mode; mutally exclusive with |
||
set network port to transmit/receive QoS headers; mutually exclusive with |
||
set network port to not transmit/receive QoS headers; mutually exclusive with |
||
Try to open the port through the 'qmi-proxy'. Since: 1.8. |
||
open an MBIM port with QMUX tunneling service. Since: 1.16. |
||
open a port either in QMI or MBIM mode, depending on device driver. Since: 1.18. |
||
Explicitly state that indications are wanted (implicit in QMI mode, optional when in MBIM mode). |
Since: 1.0
Flags to specify which actions to be performed when releasing the client.
Since: 1.0
typedef struct { QmiService service; guint16 major_version; guint16 minor_version; } QmiDeviceServiceVersionInfo;
Version information for a service.
QmiService |
a QmiService. |
|
guint16 |
major version of the service. |
|
guint16 |
minor version of the service. |
Since: 1.6
“device-file”
property“device-file” GFile *
File to the underlying QMI device.
Flags: Read / Write / Construct Only
Since: 1.0
“device-no-file-check”
property“device-no-file-check” gboolean
Don't check for file existence when creating the Qmi device.
Flags: Write / Construct Only
Default value: FALSE
Since: 1.12
“device-proxy-path”
property“device-proxy-path” gchar *
Path of the abstract socket where the proxy is available.
Flags: Write / Construct Only
Default value: "qmi-proxy"
Since: 1.12
“device-removed”
signalvoid user_function (QmiDevice *object, gpointer user_data)
The ::device-removed signal is emitted when an unexpected port hang-up is received.
object |
A QmiDevice. |
|
output |
none |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 1.20
“indication”
signalvoid user_function (QmiDevice *object, GByteArray *output, gpointer user_data)
The ::indication signal gets emitted when a QMI indication is received.
object |
A QmiDevice. |
|
output |
A QmiMessage. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 1.8