MMModem3gpp

MMModem3gpp — The 3GPP interface

Functions

const gchar * mm_modem_3gpp_network_get_operator_code ()
const gchar * mm_modem_3gpp_network_get_operator_short ()
const gchar * mm_modem_3gpp_network_get_operator_long ()
MMModemAccessTechnology mm_modem_3gpp_network_get_access_technology ()
MMModem3gppNetworkAvailability mm_modem_3gpp_network_get_availability ()
void mm_modem_3gpp_network_free ()
const gchar * mm_modem_3gpp_get_path ()
gchar * mm_modem_3gpp_dup_path ()
const gchar * mm_modem_3gpp_get_imei ()
gchar * mm_modem_3gpp_dup_imei ()
const gchar * mm_modem_3gpp_get_operator_code ()
gchar * mm_modem_3gpp_dup_operator_code ()
const gchar * mm_modem_3gpp_get_operator_name ()
gchar * mm_modem_3gpp_dup_operator_name ()
MMModem3gppFacility mm_modem_3gpp_get_enabled_facility_locks ()
MMModem3gppRegistrationState mm_modem_3gpp_get_registration_state ()
MMModem3gppSubscriptionState mm_modem_3gpp_get_subscription_state ()
GList * mm_modem_3gpp_get_pco ()
MMModem3gppEpsUeModeOperation mm_modem_3gpp_get_eps_ue_mode_operation ()
const gchar * mm_modem_3gpp_get_initial_eps_bearer_path ()
gchar * mm_modem_3gpp_dup_initial_eps_bearer_path ()
void mm_modem_3gpp_get_initial_eps_bearer ()
MMBearer * mm_modem_3gpp_get_initial_eps_bearer_finish ()
MMBearer * mm_modem_3gpp_get_initial_eps_bearer_sync ()
MMBearerProperties * mm_modem_3gpp_get_initial_eps_bearer_settings ()
MMBearerProperties * mm_modem_3gpp_peek_initial_eps_bearer_settings ()
void mm_modem_3gpp_register ()
gboolean mm_modem_3gpp_register_finish ()
gboolean mm_modem_3gpp_register_sync ()
void mm_modem_3gpp_scan ()
GList * mm_modem_3gpp_scan_finish ()
GList * mm_modem_3gpp_scan_sync ()
void mm_modem_3gpp_set_eps_ue_mode_operation ()
gboolean mm_modem_3gpp_set_eps_ue_mode_operation_finish ()
gboolean mm_modem_3gpp_set_eps_ue_mode_operation_sync ()
void mm_modem_3gpp_set_initial_eps_bearer_settings ()
gboolean mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()
gboolean mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()

Types and Values

Object Hierarchy

    GObject
    ╰── GDBusProxy
        ╰── MmGdbusModem3gppProxy
            ╰── MMModem3gpp

Implemented Interfaces

MMModem3gpp implements GDBusInterface, GInitable, GAsyncInitable and MmGdbusModem3gpp.

Description

The MMModem3gpp is an object providing access to the methods, signals and properties of the 3GPP interface.

The 3GPP interface is exposed whenever a modem has any of the 3GPP capabilities (MM_MODEM_CAPABILITY_GSM_UMTS, MM_MODEM_CAPABILITY_LTE or MM_MODEM_CAPABILITY_LTE_ADVANCED).

Functions

mm_modem_3gpp_network_get_operator_code ()

const gchar *
mm_modem_3gpp_network_get_operator_code
                               (const MMModem3gppNetwork *network);

Get the operator code (MCCMNC) of the 3GPP network.

Parameters

network

A MMModem3gppNetwork.

 

Returns

The operator code, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_network_get_operator_short ()

const gchar *
mm_modem_3gpp_network_get_operator_short
                               (const MMModem3gppNetwork *network);

Get the short operator name of the 3GPP network.

Parameters

network

A MMModem3gppNetwork.

 

Returns

The long operator name, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_network_get_operator_long ()

const gchar *
mm_modem_3gpp_network_get_operator_long
                               (const MMModem3gppNetwork *network);

Get the long operator name of the 3GPP network.

Parameters

network

A MMModem3gppNetwork.

 

Returns

The long operator name, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_network_get_access_technology ()

MMModemAccessTechnology
mm_modem_3gpp_network_get_access_technology
                               (const MMModem3gppNetwork *network);

Get the technology used to access the 3GPP network.

Parameters

network

A MMModem3gppNetwork.

 

Since: 1.0


mm_modem_3gpp_network_get_availability ()

MMModem3gppNetworkAvailability
mm_modem_3gpp_network_get_availability
                               (const MMModem3gppNetwork *network);

Get availability of the 3GPP network.

Parameters

network

A MMModem3gppNetwork.

 

Since: 1.0


mm_modem_3gpp_network_free ()

void
mm_modem_3gpp_network_free (MMModem3gppNetwork *network);

Frees a MMModem3gppNetwork.

Parameters

network

A MMModem3gppNetwork.

 

Since: 1.0


mm_modem_3gpp_get_path ()

const gchar *
mm_modem_3gpp_get_path (MMModem3gpp *self);

Gets the DBus path of the MMObject which implements this interface.

Parameters

self

A MMModem3gpp.

 

Returns

The DBus path of the MMObject object.

[transfer none]

Since: 1.0


mm_modem_3gpp_dup_path ()

gchar *
mm_modem_3gpp_dup_path (MMModem3gpp *self);

Gets a copy of the DBus path of the MMObject object which implements this interface.

Parameters

self

A MMModem3gpp.

 

Returns

The DBus path of the MMObject. The returned value should be freed with g_free().

[transfer full]

Since: 1.0


mm_modem_3gpp_get_imei ()

const gchar *
mm_modem_3gpp_get_imei (MMModem3gpp *self);

Gets the IMEI, as reported by this MMModem3gpp.

The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_modem_3gpp_dup_imei() if on another thread.

Parameters

self

A MMModem3gpp.

 

Returns

The IMEI, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_dup_imei ()

gchar *
mm_modem_3gpp_dup_imei (MMModem3gpp *self);

Gets a copy of the IMEI, as reported by this MMModem3gpp.

Parameters

self

A MMModem3gpp.

 

Returns

The IMEI, or NULL if none available. The returned value should be freed with g_free().

[transfer full]

Since: 1.0


mm_modem_3gpp_get_operator_code ()

const gchar *
mm_modem_3gpp_get_operator_code (MMModem3gpp *self);

Gets the code of the operator to which the mobile is currently registered.

Returned in the format "MCCMNC", where MCC is the three-digit ITU E.212 Mobile Country Code and MNC is the two- or three-digit GSM Mobile Network Code. e.g. e"31026" or "310260".

If the MCC and MNC are not known or the mobile is not registered to a mobile network, this property will be a zero-length (blank) string.

The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_modem_3gpp_dup_operator_code() if on another thread.

Parameters

self

A MMModem3gpp.

 

Returns

The operator code, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_dup_operator_code ()

gchar *
mm_modem_3gpp_dup_operator_code (MMModem3gpp *self);

Gets a copy of the code of the operator to which the mobile is currently registered.

Returned in the format "MCCMNC", where MCC is the three-digit ITU E.212 Mobile Country Code and MNC is the two- or three-digit GSM Mobile Network Code. e.g. e"31026" or "310260".

Parameters

self

A MMModem3gpp.

 

Returns

The operator code, or NULL if none available. The returned value should be freed with g_free().

[transfer full]

Since: 1.0


mm_modem_3gpp_get_operator_name ()

const gchar *
mm_modem_3gpp_get_operator_name (MMModem3gpp *self);

Gets the name of the operator to which the mobile is currently registered.

The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_modem_3gpp_dup_operator_name() if on another thread.

Parameters

self

A MMModem3gpp.

 

Returns

The operator name, or NULL if none available.

[transfer none]

Since: 1.0


mm_modem_3gpp_dup_operator_name ()

gchar *
mm_modem_3gpp_dup_operator_name (MMModem3gpp *self);

Gets a copy of the name of the operator to which the mobile is currently registered.

Parameters

self

A MMModem3gpp.

 

Returns

The operator name, or NULL if none available. The returned value should be freed with g_free().

[transfer full]

Since: 1.0


mm_modem_3gpp_get_enabled_facility_locks ()

MMModem3gppFacility
mm_modem_3gpp_get_enabled_facility_locks
                               (MMModem3gpp *self);

Get the list of facilities for which PIN locking is enabled.

Parameters

self

A MMModem3gpp.

 

Returns

A bitmask of MMModem3gppFacility flags, specifying which facilities have locks enabled.

Since: 1.0


mm_modem_3gpp_get_registration_state ()

MMModem3gppRegistrationState
mm_modem_3gpp_get_registration_state (MMModem3gpp *self);

Get the the mobile registration status as defined in 3GPP TS 27.007 section 10.1.19.

Parameters

self

A MMModem.

 

Returns

A MMModem3gppRegistrationState value, specifying the current registration state.

Since: 1.0


mm_modem_3gpp_get_subscription_state ()

MMModem3gppSubscriptionState
mm_modem_3gpp_get_subscription_state (MMModem3gpp *self);

mm_modem_3gpp_get_subscription_state has been deprecated since version 1.10.0. and should not be used in newly-written code.

The value of this property can only be obtained with operator specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense to expose it in the ModemManager interface.

Get the current subscription status of the account. This value is only available after the modem attempts to register with the network.

The value of this property can only be obtained with operator specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense to expose it in the ModemManager interface.

Parameters

self

A MMModem.

 

Returns

A MMModem3gppSubscriptionState value, specifying the current subscription state.

Since: 1.0


mm_modem_3gpp_get_pco ()

GList *
mm_modem_3gpp_get_pco (MMModem3gpp *self);

Get the list of MMPco received from the network.

Parameters

self

A MMModem3gpp.

 

Returns

a list of MMPco objects, or NULL if error is set. The returned value should be freed with g_list_free_full() using g_object_unref() as GDestroyNotify function.

[transfer full][element-type ModemManager.Pco]

Since: 1.10


mm_modem_3gpp_get_eps_ue_mode_operation ()

MMModem3gppEpsUeModeOperation
mm_modem_3gpp_get_eps_ue_mode_operation
                               (MMModem3gpp *self);

Get the UE mode of operation for EPS.

Parameters

self

A MMModem3gpp.

 

Since: 1.8


mm_modem_3gpp_get_initial_eps_bearer_path ()

const gchar *
mm_modem_3gpp_get_initial_eps_bearer_path
                               (MMModem3gpp *self);

Gets the DBus path of the initial EPS MMBearer exposed in this MMModem3gpp.

The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_modem_3gpp_dup_initial_eps_bearer_path() if on another thread.

[skip]

Parameters

self

A MMModem3gpp.

 

Returns

The DBus path of the MMBearer, or NULL if none available. Do not free the returned value, it belongs to self .

[transfer none]

Since: 1.10


mm_modem_3gpp_dup_initial_eps_bearer_path ()

gchar *
mm_modem_3gpp_dup_initial_eps_bearer_path
                               (MMModem3gpp *self);

Gets a copy of the DBus path of the initial EPS MMBearer exposed in this MMModem3gpp.

Parameters

self

A MMModem3gpp.

 

Returns

The DBus path of the MMBearer, or NULL if none available. The returned value should be freed with g_free().

[transfer full]

Since: 1.10


mm_modem_3gpp_get_initial_eps_bearer ()

void
mm_modem_3gpp_get_initial_eps_bearer (MMModem3gpp *self,
                                      GCancellable *cancellable,
                                      GAsyncReadyCallback callback,
                                      gpointer user_data);

Asynchronously gets the initial EPS MMBearer object exposed by this MMModem3gpp.

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 mm_modem_3gpp_get_initial_eps_bearer_finish() to get the result of the operation.

See mm_modem_3gpp_get_initial_eps_bearer_sync() for the synchronous, blocking version of this method.

Parameters

self

A MMModem3gpp.

 

cancellable

A GCancellable or NULL.

[allow-none]

callback

A GAsyncReadyCallback to call when the request is satisfied or NULL.

 

user_data

User data to pass to callback .

 

Since: 1.10


mm_modem_3gpp_get_initial_eps_bearer_finish ()

MMBearer *
mm_modem_3gpp_get_initial_eps_bearer_finish
                               (MMModem3gpp *self,
                                GAsyncResult *res,
                                GError **error);

Finishes an operation started with mm_modem_3gpp_get_initial_eps_bearer().

Parameters

self

A MMModem3gpp.

 

res

The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_modem_3gpp_get_initial_eps_bearer().

 

error

Return location for error or NULL.

 

Returns

a MMSim or NULL if error is set. The returned value should be freed with g_object_unref().

[transfer full]

Since: 1.10


mm_modem_3gpp_get_initial_eps_bearer_sync ()

MMBearer *
mm_modem_3gpp_get_initial_eps_bearer_sync
                               (MMModem3gpp *self,
                                GCancellable *cancellable,
                                GError **error);

Synchronously gets the initial EPS MMBearer object exposed by this MMModem3gpp.

The calling thread is blocked until a reply is received. See mm_modem_3gpp_get_initial_eps_bearer() for the asynchronous version of this method.

Parameters

self

A MMModem3gpp.

 

cancellable

A GCancellable or NULL.

[allow-none]

error

Return location for error or NULL.

 

Returns

a MMBearer or NULL if error is set. The returned value should be freed with g_object_unref().

[transfer full]

Since: 1.10


mm_modem_3gpp_get_initial_eps_bearer_settings ()

MMBearerProperties *
mm_modem_3gpp_get_initial_eps_bearer_settings
                               (MMModem3gpp *self);

Gets a MMBearerProperties object specifying the settings configured in the device to use when attaching to the LTE network.

The values reported by self are not updated when the values in the interface change. Instead, the client is expected to call mm_modem_3gpp_get_initial_eps_bearer_settings() again to get a new MMBearerProperties with the new values.

Parameters

self

A MMModem3gpp.

 

Returns

A MMBearerProperties that must be freed with g_object_unref() or NULL if unknown.

[transfer full]

Since: 1.10


mm_modem_3gpp_peek_initial_eps_bearer_settings ()

MMBearerProperties *
mm_modem_3gpp_peek_initial_eps_bearer_settings
                               (MMModem3gpp *self);

Gets a MMBearerProperties object specifying the settings configured in the device to use when attaching to the LTE network.

The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_modem_3gpp_get_initial_eps_bearer_settings() if on another thread.

Parameters

self

A MMModem3gpp.

 

Returns

A MMBearerProperties. Do not free the returned value, it belongs to self .

[transfer none]

Since: 1.10


mm_modem_3gpp_register ()

void
mm_modem_3gpp_register (MMModem3gpp *self,
                        const gchar *network_id,
                        GCancellable *cancellable,
                        GAsyncReadyCallback callback,
                        gpointer user_data);

Asynchronously requests registration with a given mobile network.

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 mm_modem_3gpp_register_finish() to get the result of the operation.

See mm_modem_3gpp_register_sync() for the synchronous, blocking version of this method.

Parameters

self

A MMModem3gpp.

 

network_id

The operator ID to register. An empty string can be used to register to the home network.

 

cancellable

A GCancellable or NULL.

[allow-none]

callback

A GAsyncReadyCallback to call when the request is satisfied or NULL.

 

user_data

User data to pass to callback .

 

Since: 1.0


mm_modem_3gpp_register_finish ()

gboolean
mm_modem_3gpp_register_finish (MMModem3gpp *self,
                               GAsyncResult *res,
                               GError **error);

Finishes an operation started with mm_modem_3gpp_register().

Parameters

self

A MMModem3gpp.

 

res

The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_modem_3gpp_register().

 

error

Return location for error or NULL.

 

Returns

TRUE if the modem was registered, FALSE if error is set.

Since: 1.0


mm_modem_3gpp_register_sync ()

gboolean
mm_modem_3gpp_register_sync (MMModem3gpp *self,
                             const gchar *network_id,
                             GCancellable *cancellable,
                             GError **error);

Synchronously requests registration with a given mobile network.

The calling thread is blocked until a reply is received. See mm_modem_3gpp_register() for the asynchronous version of this method.

Parameters

self

A MMModem3gpp.

 

network_id

The operator ID to register. An empty string can be used to register to the home network.

 

cancellable

A GCancellable or NULL.

[allow-none]

error

Return location for error or NULL.

 

Returns

TRUE if the modem was registered, FALSE if error is set.

Since: 1.0


mm_modem_3gpp_scan ()

void
mm_modem_3gpp_scan (MMModem3gpp *self,
                    GCancellable *cancellable,
                    GAsyncReadyCallback callback,
                    gpointer user_data);

Asynchronously requests to scan available 3GPP networks.

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 mm_modem_3gpp_scan_finish() to get the result of the operation.

See mm_modem_3gpp_scan_sync() for the synchronous, blocking version of this method.

Parameters

self

A MMModem3gpp.

 

cancellable

A GCancellable or NULL.

[allow-none]

callback

A GAsyncReadyCallback to call when the request is satisfied or NULL.

 

user_data

User data to pass to callback .

 

Since: 1.0


mm_modem_3gpp_scan_finish ()

GList *
mm_modem_3gpp_scan_finish (MMModem3gpp *self,
                           GAsyncResult *res,
                           GError **error);

Finishes an operation started with mm_modem_3gpp_scan().

Parameters

self

A MMModem3gpp.

 

res

The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_modem_3gpp_scan().

 

error

Return location for error or NULL.

 

Returns

a list of MMModem3gppNetwork structs, or NULL if error is set. The returned value should be freed with g_list_free_full() using mm_modem_3gpp_network_free() as GDestroyNotify function.

[transfer full][element-type ModemManager.Modem3gppNetwork]

Since: 1.0


mm_modem_3gpp_scan_sync ()

GList *
mm_modem_3gpp_scan_sync (MMModem3gpp *self,
                         GCancellable *cancellable,
                         GError **error);

Synchronously requests to scan available 3GPP networks.

The calling thread is blocked until a reply is received. See mm_modem_3gpp_scan() for the asynchronous version of this method.

Parameters

self

A MMModem3gpp.

 

cancellable

A GCancellable or NULL.

[allow-none]

error

Return location for error or NULL.

 

Returns

a list of MMModem3gppNetwork structs, or NULL if error is set. The returned value should be freed with g_list_free_full() using mm_modem_3gpp_network_free() as GDestroyNotify function.

[transfer full][element-type ModemManager.Modem3gppNetwork]

Since: 1.0


mm_modem_3gpp_set_eps_ue_mode_operation ()

void
mm_modem_3gpp_set_eps_ue_mode_operation
                               (MMModem3gpp *self,
                                MMModem3gppEpsUeModeOperation mode,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously requests to update the EPS UE mode of operation.

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 mm_modem_3gpp_set_eps_ue_mode_operation_finish() to get the result of the operation.

See mm_modem_3gpp_set_eps_ue_mode_operation_sync() for the synchronous, blocking version of this method. The calling thread is blocked until a reply is received.

Parameters

self

A MMModem3gpp.

 

mode

A MMModem3gppEpsUeModeOperation.

 

cancellable

A GCancellable or NULL.

[allow-none]

callback

A GAsyncReadyCallback to call when the request is satisfied or NULL.

 

user_data

User data to pass to callback .

 

Since: 1.8


mm_modem_3gpp_set_eps_ue_mode_operation_finish ()

gboolean
mm_modem_3gpp_set_eps_ue_mode_operation_finish
                               (MMModem3gpp *self,
                                GAsyncResult *res,
                                GError **error);

Finishes an operation started with mm_modem_3gpp_set_eps_ue_mode_operation().

Parameters

self

A MMModem3gpp.

 

res

The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_modem_3gpp_set_eps_ue_mode_operation().

 

error

Return location for error or NULL.

 

Returns

TRUE if the operation was successful, FALSE if error is set.

Since: 1.8


mm_modem_3gpp_set_eps_ue_mode_operation_sync ()

gboolean
mm_modem_3gpp_set_eps_ue_mode_operation_sync
                               (MMModem3gpp *self,
                                MMModem3gppEpsUeModeOperation mode,
                                GCancellable *cancellable,
                                GError **error);

Synchronously requests to update the EPS UE mode of operation.

The calling thread is blocked until a reply is received. See mm_modem_3gpp_set_eps_ue_mode_operation() for the asynchronous version of this method.

Parameters

self

A MMModem3gpp.

 

mode

A MMModem3gppEpsUeModeOperation.

 

cancellable

A GCancellable or NULL.

[allow-none]

error

Return location for error or NULL.

 

Returns

TRUE if the operation was successful, FALSE if error is set.

Since: 1.8


mm_modem_3gpp_set_initial_eps_bearer_settings ()

void
mm_modem_3gpp_set_initial_eps_bearer_settings
                               (MMModem3gpp *self,
                                MMBearerProperties *config,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously configures the settings for the initial LTE default bearer.

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 mm_modem_3gpp_set_initial_eps_bearer_settings_finish() to get the result of the operation.

Parameters

self

A MMModem3gpp.

 

config

A MMBearerProperties object with the properties to use.

 

cancellable

A GCancellable or NULL.

[allow-none]

callback

A GAsyncReadyCallback to call when the request is satisfied or NULL.

 

user_data

User data to pass to callback .

 

Since: 1.10


mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()

gboolean
mm_modem_3gpp_set_initial_eps_bearer_settings_finish
                               (MMModem3gpp *self,
                                GAsyncResult *res,
                                GError **error);

Finishes an operation started with mm_modem_3gpp_set_initial_eps_bearer_settings().

Parameters

self

A MMModem3gpp.

 

res

The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_modem_3gpp_set_initial_eps_bearer_settings().

 

error

Return location for error or NULL.

 

Returns

TRUE if the operation was successful, FALSE if error is set.

Since: 1.10


mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()

gboolean
mm_modem_3gpp_set_initial_eps_bearer_settings_sync
                               (MMModem3gpp *self,
                                MMBearerProperties *config,
                                GCancellable *cancellable,
                                GError **error);

Synchronously configures the settings for the initial LTE default bearer.

The calling thread is blocked until a reply is received. See mm_modem_3gpp_set_initial_eps_bearer_settings() for the asynchronous version of this method.

Parameters

self

A MMModem3gpp.

 

config

A MMBearerProperties object with the properties to use.

 

cancellable

A GCancellable or NULL.

[allow-none]

error

Return location for error or NULL.

 

Returns

TRUE if the operation was successful, FALSE if error is set.

Since: 1.10

Types and Values

struct MMModem3gpp

struct MMModem3gpp;

The MMModem3gpp structure contains private data and should only be accessed using the provided API.


MMModem3gppNetwork

typedef struct _MMModem3gppNetwork MMModem3gppNetwork;

The MMModem3gppNetwork structure contains private data and should only be accessed using the provided API.