Telematics SDK - Interface Specification
v1.46.62
|
Data Structures | |
struct | telux::tel::CellBroadcastFilter |
struct | telux::tel::Point |
class | telux::tel::Polygon |
class | telux::tel::Circle |
class | telux::tel::Geometry |
class | telux::tel::WarningAreaInfo |
class | telux::tel::EtwsInfo |
class | telux::tel::CmasInfo |
class | telux::tel::CellBroadcastMessage |
Cell Broadcast message. More... | |
class | telux::tel::ICellBroadcastManager |
CellBroadcastManager class is primary interface to configure and activate emergency broadcast messages and receive broadcast messages. More... | |
class | telux::tel::ICellBroadcastListener |
A listener class which monitors cell broadcast messages. More... | |
Typedefs | |
using | telux::tel::RequestFiltersResponseCallback = std::function< void(std::vector< CellBroadcastFilter > filters, telux::common::ErrorCode error)> |
using | telux::tel::RequestActivationStatusResponseCallback = std::function< void(bool isActivated, telux::common::ErrorCode error)> |
This section contains APIs related to configure, activate and receive 3GPP ETWS/CMAS cell broadcast messages.
struct telux::tel::CellBroadcastFilter |
Defines cellbroadcast message filter. Refer spec 3GPP TS 23.041 9.4.1.2.2 for message identifier. Eg: If user want to receive from 0x1112 to 0x1116 then, startMessageId is 0x1112 and endMessageId is 0x1116. If user want to receive only 0x1112, then both startMessageId and endMessageId is 0x1112.
Data Fields | ||
---|---|---|
int | startMessageId |
Intended to receive start from which MessageType |
int | endMessageId |
Intended to receive upto which MessageType |
struct telux::tel::Point |
Point represented by latitude and longitude.
Data Fields | ||
---|---|---|
double | latitude | |
double | longitude |
class telux::tel::Polygon |
This class represents a simple polygon with different points.
Public Member Functions | |
Polygon (std::vector< Point > vertices) | |
std::vector< Point > | getVertices () |
telux::tel::Polygon::Polygon | ( | std::vector< Point > | vertices | ) |
Polygon constructor.
[in] | vertices | List of telux::tel::Point |
std::vector<Point> telux::tel::Polygon::getVertices | ( | ) |
Get vertices of polygon.
class telux::tel::Circle |
This class represents a geometry represented as simple circle.
Public Member Functions | |
Circle (Point center, double radius) | |
Point | getCenter () |
double | getRadius () |
telux::tel::Circle::Circle | ( | Point | center, |
double | radius | ||
) |
Circle constructor.
[in] | center | Center of circle represented by telux::tel::Point |
[in] | radius | Radius of circle in meters |
Point telux::tel::Circle::getCenter | ( | ) |
Get center point of circle.
double telux::tel::Circle::getRadius | ( | ) |
Get radius of circle.
class telux::tel::Geometry |
This class represents warning area geometry to perform geofencing on alert.
Public Member Functions | |
Geometry (std::shared_ptr< Polygon > polygon) | |
Geometry (std::shared_ptr< Circle > circle) | |
GeometryType | getType () const |
std::shared_ptr< Polygon > | getPolygon () const |
std::shared_ptr< Circle > | getCircle () const |
telux::tel::Geometry::Geometry | ( | std::shared_ptr< Polygon > | polygon | ) |
telux::tel::Geometry::Geometry | ( | std::shared_ptr< Circle > | circle | ) |
GeometryType telux::tel::Geometry::getType | ( | ) | const |
Get the geometry type.
std::shared_ptr<Polygon> telux::tel::Geometry::getPolygon | ( | ) | const |
Get polygon goemetry as warning area to perform geofencing. This method should be called only if geometry type returned by getType() API is GeometryType::POLYGON
std::shared_ptr<Circle> telux::tel::Geometry::getCircle | ( | ) | const |
Get circle goemetry as warning area to perform geofencing. This method should be called only if geometry type returned by getType() API is GeometryType::CIRCLE
class telux::tel::WarningAreaInfo |
This class represents warning area information for alert.
Public Member Functions | |
WarningAreaInfo (int maxWaitTime, std::vector< Geometry > geometries) | |
int | getGeoFenceMaxWaitTime () |
std::vector< Geometry > | getGeometries () |
telux::tel::WarningAreaInfo::WarningAreaInfo | ( | int | maxWaitTime, |
std::vector< Geometry > | geometries | ||
) |
Warning Area Information constructor.
[in] | maxWaitTime | Maximum wait time allowed to determine position for alert Range is 0 to 255 where 0 means Zero wait time, 1 - 254 is Geo-Fencing Maximum Wait Time in seconds and 255 means use device default wait time. |
[in] | geometries | Geometries to perform geofencing on alert |
int telux::tel::WarningAreaInfo::getGeoFenceMaxWaitTime | ( | ) |
Get maximum wait time allowed to determine position for alert.
std::vector<Geometry> telux::tel::WarningAreaInfo::getGeometries | ( | ) |
Get geometries to perform geofencing on alert.
class telux::tel::EtwsInfo |
Contains information elements for a GSM/UMTS/E-UTRAN/NG-RAN ETWS warning notification. Supported values for each element are defined in 3GPP TS 23.041.
Public Member Functions | |
EtwsInfo (GeographicalScope geographicalScope, int msgId, int serialNumber, std::string languageCode, std::string messageText, MessagePriority priority, EtwsWarningType warningType, bool emergencyUserAlert, bool activatePopup, bool primary, std::vector< uint8_t > warningSecurityInformation) | |
GeographicalScope | getGeographicalScope () const |
int | getMessageId () const |
int | getSerialNumber () const |
std::string | getLanguageCode () const |
std::string | getMessageBody () const |
MessagePriority | getPriority () const |
int | getMessageCode () const |
int | getUpdateNumber () const |
EtwsWarningType | getEtwsWarningType () |
bool | isEmergencyUserAlert () |
bool | isPopupAlert () |
bool | isPrimary () |
std::vector< uint8_t > | getWarningSecurityInformation () |
telux::tel::EtwsInfo::EtwsInfo | ( | GeographicalScope | geographicalScope, |
int | msgId, | ||
int | serialNumber, | ||
std::string | languageCode, | ||
std::string | messageText, | ||
MessagePriority | priority, | ||
EtwsWarningType | warningType, | ||
bool | emergencyUserAlert, | ||
bool | activatePopup, | ||
bool | primary, | ||
std::vector< uint8_t > | warningSecurityInformation | ||
) |
EtwsInfo constructor.
[in] | geographicalScope | GeographicalScope |
[in] | msgId | Unique message identifier |
[in] | serialNumber | Serial number for message |
[in] | languageCode | ISO-639-1 language code for message |
[in] | messageText | Message text |
[in] | priority | MessagePriority |
[in] | warningType | EtwsWarningType |
[in] | emergencyUserAlert | If true message is emergency user alert otherwise not |
[in] | activatePopup | If true message message activate popup flag is set, otherwise popup flag is false. |
[in] | primary | If true ETWS message is primary notification otherwise not |
[in] | warningSecurityInformation | Buffer containing security information about ETWS primary notification such as timestamp and digital signature |
GeographicalScope telux::tel::EtwsInfo::getGeographicalScope | ( | ) | const |
Get the geographicalScope of cellbroadcast message.
int telux::tel::EtwsInfo::getMessageId | ( | ) | const |
Get cellbroadcast message identifier. The message identifier identifies the type of the cell broadcast message defined in spec 3GPP TS 23.041 9.4.1.2.2
int telux::tel::EtwsInfo::getSerialNumber | ( | ) | const |
Get the serial number of broadcast (geographical scope + message code + update number for GSM/UMTS).
std::string telux::tel::EtwsInfo::getLanguageCode | ( | ) | const |
Get the ISO-639-1 language code for cell broadcast message, or empty string if unspecified. This is not applicable for ETWS primary notification.
std::string telux::tel::EtwsInfo::getMessageBody | ( | ) | const |
Get the body of cell broadcast message, or empty string if no body available. For ETWS primary notification based on message identifier pre cannned message will be sent.
MessagePriority telux::tel::EtwsInfo::getPriority | ( | ) | const |
Get the priority for the cell broadcast message.
int telux::tel::EtwsInfo::getMessageCode | ( | ) | const |
Get the cellbroadcast message code.
int telux::tel::EtwsInfo::getUpdateNumber | ( | ) | const |
Get the cellbroadcast message update number.
EtwsWarningType telux::tel::EtwsInfo::getEtwsWarningType | ( | ) |
Get ETWS warning type.
bool telux::tel::EtwsInfo::isEmergencyUserAlert | ( | ) |
Returns the ETWS emergency user alert flag.
bool telux::tel::EtwsInfo::isPopupAlert | ( | ) |
Returns the ETWS activate popup flag.
bool telux::tel::EtwsInfo::isPrimary | ( | ) |
Returns the ETWS format flag. This flag determine whether ETWS message is primary notification or not.
std::vector<uint8_t> telux::tel::EtwsInfo::getWarningSecurityInformation | ( | ) |
Returns security information about ETWS primary notification such as timestamp and digital signature(applicable only for GSM).
class telux::tel::CmasInfo |
Contains information elements for a GSM/UMTS/E-UTRAN/NG-RAN CMAS warning notification. Supported values for each element are defined in 3GPP TS 23.041.
Public Member Functions | |
CmasInfo (GeographicalScope geographicalScope, int msgId, int serialNumber, std::string languageCode, std::string messageText, MessagePriority priority, CmasMessageClass messageClass, CmasSeverity severity, CmasUrgency urgency, CmasCertainty certainty, std::shared_ptr< WarningAreaInfo > warningAreaInfo) | |
GeographicalScope | getGeographicalScope () const |
int | getMessageId () const |
int | getSerialNumber () const |
std::string | getLanguageCode () const |
std::string | getMessageBody () const |
MessagePriority | getPriority () const |
int | getMessageCode () const |
int | getUpdateNumber () const |
CmasMessageClass | getMessageClass () |
CmasSeverity | getSeverity () |
CmasUrgency | getUrgency () |
CmasCertainty | getCertainty () |
std::shared_ptr< WarningAreaInfo > | getWarningAreaInfo () |
telux::tel::CmasInfo::CmasInfo | ( | GeographicalScope | geographicalScope, |
int | msgId, | ||
int | serialNumber, | ||
std::string | languageCode, | ||
std::string | messageText, | ||
MessagePriority | priority, | ||
CmasMessageClass | messageClass, | ||
CmasSeverity | severity, | ||
CmasUrgency | urgency, | ||
CmasCertainty | certainty, | ||
std::shared_ptr< WarningAreaInfo > | warningAreaInfo | ||
) |
CmasInfo constructor.
[in] | geographicalScope | GeographicalScope |
[in] | msgId | Unique message identifier |
[in] | serialNumber | Serial number for message |
[in] | languageCode | ISO-639-1 language code for message |
[in] | messageText | Message text |
[in] | priority | MessagePriority |
[in] | messageClass | CmasMessageClass |
[in] | severity | CmasSeverity |
[in] | urgency | CmasUrgency |
[in] | certainty | CmasCertainty |
GeographicalScope telux::tel::CmasInfo::getGeographicalScope | ( | ) | const |
Get the geographicalScope of cellbroadcast message.
int telux::tel::CmasInfo::getMessageId | ( | ) | const |
Get cellbroadcast message identifier. The message identifier identifies the type of the cell broadcast message defined in spec 3GPP TS 23.041 9.4.1.2.2
int telux::tel::CmasInfo::getSerialNumber | ( | ) | const |
Get the serial number of broadcast (geographical scope + message code + update number for GSM/UMTS).
std::string telux::tel::CmasInfo::getLanguageCode | ( | ) | const |
Get the ISO-639-1 language code for cell broadcast message, or empty string if unspecified. This is not applicable for ETWS primary notification.
std::string telux::tel::CmasInfo::getMessageBody | ( | ) | const |
Get the body of cell broadcast message, or empty string if no body available. For ETWS primary notification based on message identifier pre cannned message will be sent.
MessagePriority telux::tel::CmasInfo::getPriority | ( | ) | const |
Get the priority for the cell broadcast message.
int telux::tel::CmasInfo::getMessageCode | ( | ) | const |
Get the cellbroadcast message code.
int telux::tel::CmasInfo::getUpdateNumber | ( | ) | const |
Get the cellbroadcast message update number.
CmasMessageClass telux::tel::CmasInfo::getMessageClass | ( | ) |
Get CMAS message class.
CmasSeverity telux::tel::CmasInfo::getSeverity | ( | ) |
Get CMAS message severity.
CmasUrgency telux::tel::CmasInfo::getUrgency | ( | ) |
Get CMAS message urgency.
CmasCertainty telux::tel::CmasInfo::getCertainty | ( | ) |
Get CMAS message certainty.
std::shared_ptr<WarningAreaInfo> telux::tel::CmasInfo::getWarningAreaInfo | ( | ) |
Returns warning area information for alert. This is applicable for LTE and NR5G
class telux::tel::CellBroadcastMessage |
Cell Broadcast message.
Public Member Functions | |
CellBroadcastMessage (std::shared_ptr< EtwsInfo > etwsInfo) | |
CellBroadcastMessage (std::shared_ptr< CmasInfo > cmasInfo) | |
MessageType | getMessageType () const |
std::shared_ptr< EtwsInfo > | getEtwsInfo () const |
std::shared_ptr< CmasInfo > | getCmasInfo () const |
telux::tel::CellBroadcastMessage::CellBroadcastMessage | ( | std::shared_ptr< EtwsInfo > | etwsInfo | ) |
CellBroadcastMessage constructor.
[in] | etwsInfo | EtwsInfo |
telux::tel::CellBroadcastMessage::CellBroadcastMessage | ( | std::shared_ptr< CmasInfo > | cmasInfo | ) |
CellBroadcastMessage constructor.
[in] | cmasInfo | CmasInfo |
MessageType telux::tel::CellBroadcastMessage::getMessageType | ( | ) | const |
Get the cellbroadcast message type.
std::shared_ptr<EtwsInfo> telux::tel::CellBroadcastMessage::getEtwsInfo | ( | ) | const |
Get ETWS warning notification containing information about the ETWS warning type, the emergency user alert flag and the popup flag. This method should be called only if message type returned by getMessageType() API is MessageType::ETWS
std::shared_ptr<CmasInfo> telux::tel::CellBroadcastMessage::getCmasInfo | ( | ) | const |
Get CMAS warning notification containing information about the CMAS message class, severity, urgency and certainty.This method should be called only if message type returned by getMessageType() API is MessageType::CMAS
class telux::tel::ICellBroadcastManager |
CellBroadcastManager class is primary interface to configure and activate emergency broadcast messages and receive broadcast messages.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual SlotId | getSlotId ()=0 |
virtual telux::common::Status | updateMessageFilters (std::vector< CellBroadcastFilter > filters, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestMessageFilters (RequestFiltersResponseCallback callback)=0 |
virtual telux::common::Status | setActivationStatus (bool activate, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestActivationStatus (RequestActivationStatusResponseCallback callback)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< ICellBroadcastListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< ICellBroadcastListener > listener)=0 |
virtual | ~ICellBroadcastManager () |
|
virtual |
|
pure virtual |
Checks the status of network subsystem and returns the result.
|
pure virtual |
Wait for network subsystem to be ready.
|
pure virtual |
Get associated slot for this CellBroadcastManager.
|
pure virtual |
Configures the broadcast messages to be received.
[in] | filters | List of filtered broadcast message identifiers. |
[in] | callback | Optional callback to get the response of set cell broadcast filters. |
|
pure virtual |
Retrieve configured message filters for which broadcast messages will be received.
[in] | callback | Callback to get the response of get cell broadcast filters. |
|
pure virtual |
Allows activation and deactivation of configured broadcast messages.
[in] | activate | Activate/deactivate broadcast messages. |
[in] | callback | Optional callback pointer to get the response. |
|
pure virtual |
Get activation status for configured broadcast messages.
[in] | callback | Callback pointer to get the response. |
|
pure virtual |
Register a listener for cell broadcast messages.
[in] | listener | Pointer to ICellBroadcastListener object which receives broadcast message. |
|
pure virtual |
De-register the listener.
[in] | listener | Listener to be de-registered |
class telux::tel::ICellBroadcastListener |
A listener class which monitors cell broadcast messages.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onIncomingMessage (SlotId slotId, const std::shared_ptr< CellBroadcastMessage > cbMessage) |
virtual void | onMessageFilterChange (SlotId slotId, std::vector< CellBroadcastFilter > filters) |
virtual | ~ICellBroadcastListener () |
![]() | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
|
virtual |
This function is called when device receives an incoming cell broadcast message.
[in] | slotId | - Slot Id on which broadcast message is received. |
[in] | cbMessage | - Broadcast message with information related to ETWS/CMAS notification. |
|
virtual |
This function is called when there is change in broadcast configuration like updation of message filters by the client using ICellBroadcastManager::updateMessageFilters.
[in] | slotId | - Slot Id on which change in message filters is received. |
[in] | filters | - Complete list of configured broadcast message filters. |
using telux::tel::RequestFiltersResponseCallback = typedef std::function<void(std::vector<CellBroadcastFilter> filters, telux::common::ErrorCode error)> |
This function is called with the response to requestMessageIdFilters API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | filters | List of broadcast filters CellBroadcastFilter |
[in] | error | Return code which indicates whether the operation succeeded or not ErrorCode |
using telux::tel::RequestActivationStatusResponseCallback = typedef std::function<void(bool isActivated, telux::common::ErrorCode error)> |
This function is called with the response to requestActivationStatus API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | isActivated | If true then filters are activated else filters are deactivated |
[in] | error | Return code which indicates whether the operation succeeded or not ErrorCode |
|
strong |
|
strong |
|
strong |
|
strong |
Defines warning type for ETWS cell broadcast message.
|
strong |
Defines message class for CMAS cell broadcast message.
|
strong |
Defines severity type for CMAS cell broadcast message.
|
strong |
Defines urgency type for CMAS cell broadcast message.
|
strong |
Defines certainty type for CMAS cell broadcast message.
|
strong |