Snapdragon® Telematics Application Framework (TelAF) Interface Specification
|
Go to the source code of this file.
Macros | |
#define | IFGEN_TAF_SOMEIPSVR_PROTOCOL_ID "f7d78ee6d1f97efc26c5c23d07e1a60b" |
#define | IFGEN_TAF_SOMEIPSVR_MSG_SIZE 17426 |
Typedefs | |
typedef struct taf_someipSvr_Service * | taf_someipSvr_ServiceRef_t |
typedef struct taf_someipSvr_RxMsg * | taf_someipSvr_RxMsgRef_t |
typedef struct taf_someipSvr_RxMsgHandler * | taf_someipSvr_RxMsgHandlerRef_t |
typedef struct taf_someipSvr_SubscriptionHandler * | taf_someipSvr_SubscriptionHandlerRef_t |
typedef void(* | taf_someipSvr_RxMsgHandlerFunc_t) (taf_someipSvr_RxMsgRef_t msgRef, void *contextPtr) |
typedef void(* | taf_someipSvr_SubscriptionHandlerFunc_t) (taf_someipSvr_ServiceRef_t serviceRef, uint16_t eventGroupId, bool isSubscribed, void *contextPtr) |
#define IFGEN_TAF_SOMEIPSVR_PROTOCOL_ID "f7d78ee6d1f97efc26c5c23d07e1a60b" |
#define IFGEN_TAF_SOMEIPSVR_MSG_SIZE 17426 |
typedef struct taf_someipSvr_Service* taf_someipSvr_ServiceRef_t |
Reference to the server-service-instance, SOME/IP gateway uses it to offer the specified service through SOME/IP-SD multicast message.
typedef struct taf_someipSvr_RxMsg* taf_someipSvr_RxMsgRef_t |
Reference to a message received(message type can be MT_REQUEST/MT_REQUEST_NO_RETURN).
typedef struct taf_someipSvr_RxMsgHandler* taf_someipSvr_RxMsgHandlerRef_t |
Reference type used by Add/Remove functions for EVENT 'taf_someipSvr_RxMsg'
typedef struct taf_someipSvr_SubscriptionHandler* taf_someipSvr_SubscriptionHandlerRef_t |
Reference type used by Add/Remove functions for EVENT 'taf_someipSvr_Subscription'
typedef void(* taf_someipSvr_RxMsgHandlerFunc_t) (taf_someipSvr_RxMsgRef_t msgRef, void *contextPtr) |
Handler for a Rx message.
typedef void(* taf_someipSvr_SubscriptionHandlerFunc_t) (taf_someipSvr_ServiceRef_t serviceRef, uint16_t eventGroupId, bool isSubscribed, void *contextPtr) |
Handler for the event group subscription status.
LE_SHARED bool ifgen_taf_someipSvr_HasLocalBinding | ( | void | ) |
Get if this client bound locally.
LE_SHARED void ifgen_taf_someipSvr_InitCommonData | ( | void | ) |
Init data that is common across all threads
LE_SHARED void ifgen_taf_someipSvr_CleanupCommonData | ( | le_msg_SessionRef_t | _ifgen_sessionRef | ) |
Cleanup the data of a session
LE_SHARED le_result_t ifgen_taf_someipSvr_OpenSession | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
bool | isBlocking | ||
) |
Perform common initialization and open a session
LE_SHARED taf_someipSvr_ServiceRef_t ifgen_taf_someipSvr_GetService | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
uint16_t | serviceId, | ||
uint16_t | instanceId | ||
) |
Gets the reference to a server-service-instance on default network interface.
[in] | serviceId | Service ID. |
[in] | instanceId | Instance ID. |
LE_SHARED taf_someipSvr_ServiceRef_t ifgen_taf_someipSvr_GetServiceEx | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
uint16_t | serviceId, | ||
uint16_t | instanceId, | ||
const char *LE_NONNULL | ifName | ||
) |
Gets the reference to a server-service-instance on a dedicated network interface. The ifName shall match the device name specified in one of the JSON files.
[in] | serviceId | Service ID. |
[in] | instanceId | Instance ID. |
[in] | ifName | Network interface name. |
LE_SHARED le_result_t ifgen_taf_someipSvr_SetServiceVersion | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint8_t | majVer, | ||
uint32_t | minVer | ||
) |
Sets the major and minor version for the server-service-instance. The default major version is 0x00, the minor version is 0x00000000.
NOTE: This API must be called before OfferService() if needed.
[in] | serviceRef | Service Reference. |
[in] | majVer | Major Version. |
[in] | minVer | Minor Version. |
LE_SHARED le_result_t ifgen_taf_someipSvr_SetServicePort | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | udpPort, | ||
uint16_t | tcpPort, | ||
bool | enableMagicCookies | ||
) |
Sets up an UDP server and/or a TCP server with given port(s) for the server-service-instance.
NOTE: This API must be called before OfferService() if needed.
[in] | serviceRef | Service Reference. |
[in] | udpPort | Set up an UDP server with the given UDP port for the |
[in] | tcpPort | Set up an TCP server with the given TCP port for the |
[in] | enableMagicCookies | If TCP magic cookie is enabled when TCP server is set |
LE_SHARED le_result_t ifgen_taf_someipSvr_OfferService | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef | ||
) |
Offers a server-service-instance. The TCP port or/and UDP port must be set if the service need to be offered remotely, otherwise it's only offered locally.
[in] | serviceRef | Service Reference. |
LE_SHARED le_result_t ifgen_taf_someipSvr_StopOfferService | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef | ||
) |
Stops offering a server-service-instance. It also stops offering all events of the service.
[in] | serviceRef | Service Reference. |
LE_SHARED le_result_t ifgen_taf_someipSvr_EnableEvent | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId, | ||
uint16_t | eventgroupId | ||
) |
Enables an event by adding it to an event group.
NOTE: This API must be called before offerEvent() and can be called for multiple times if the event need to be added into more than one event groups.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID, valid range: 0x8001 to 0xFFFE. |
[in] | eventgroupId | Event Group ID, valid range: 0x0001 to 0xFFFE. |
LE_SHARED le_result_t ifgen_taf_someipSvr_SetEventType | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId, | ||
taf_someipDef_EventType_t | eventType | ||
) |
Sets the event type for an event of a service.
NOTE: The default event type is ET_EVENT and the API must be called before OfferEvent() if needed.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
[in] | eventType | Event Type. |
LE_SHARED le_result_t ifgen_taf_someipSvr_SetEventCycleTime | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId, | ||
uint32_t | cycleTime | ||
) |
Sets the cycle time for an periodic event notification(ET_EVENT) of a service. By default the cycle time is 0 which means periodic event notification is disabled.
NOTE: This API has no effect for field notification(ET_FIELD) and must be called before OfferEvent() if needed.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
[in] | cycleTime | Cycle Time in milliseconds. |
LE_SHARED le_result_t ifgen_taf_someipSvr_DisableEvent | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId | ||
) |
Disables an event by removing it from all added event groups.
NOTE: This API must be called before OfferEvent() if needed.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_OfferEvent | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId | ||
) |
Offers an event which is enabled for a server-service-instance.
NOTE: This API must be called after OfferService() and EnableEvent() if needed.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_StopOfferEvent | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId | ||
) |
Stops offering an event for a server-service-instance.
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_Notify | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventId, | ||
const uint8_t * | dataPtr, | ||
size_t | dataSize | ||
) |
Fires an event or field notification. The specified event is updated with the specified payload Data. Dependent on the type of the event, the payload is distributed to all notified clients (always for events, only if the payload has changed for fields).
NOTE: This API is only available after offerService() and OfferEvent().
[in] | serviceRef | Service Reference. |
[in] | eventId | Event ID. |
[in] | dataPtr | Payload Data. |
[in] | dataSize |
LE_SHARED taf_someipSvr_RxMsgHandlerRef_t ifgen_taf_someipSvr_AddRxMsgHandler | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
taf_someipSvr_RxMsgHandlerFunc_t | handlerPtr, | ||
void * | contextPtr | ||
) |
Add handler function for EVENT 'taf_someipSvr_RxMsg'
This event provides information on Rx message.
[in] | serviceRef | Service Reference. |
[in] | handlerPtr | |
[in] | contextPtr |
LE_SHARED void ifgen_taf_someipSvr_RemoveRxMsgHandler | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgHandlerRef_t | handlerRef | ||
) |
Remove handler function for EVENT 'taf_someipSvr_RxMsg'
[in] | handlerRef |
LE_SHARED taf_someipSvr_SubscriptionHandlerRef_t ifgen_taf_someipSvr_AddSubscriptionHandler | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_ServiceRef_t | serviceRef, | ||
uint16_t | eventGroupId, | ||
taf_someipSvr_SubscriptionHandlerFunc_t | handlerPtr, | ||
void * | contextPtr | ||
) |
Add handler function for EVENT 'taf_someipSvr_Subscription'
This event provides information on the event group subscription status.
[in] | serviceRef | Service Reference. |
[in] | eventGroupId | Event Group ID. |
[in] | handlerPtr | |
[in] | contextPtr |
LE_SHARED void ifgen_taf_someipSvr_RemoveSubscriptionHandler | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_SubscriptionHandlerRef_t | handlerRef | ||
) |
Remove handler function for EVENT 'taf_someipSvr_Subscription'
[in] | handlerRef |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetServiceId | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint16_t * | serviceIdPtr, | ||
uint16_t * | instanceIdPtr | ||
) |
Gets the service ID and Instance ID of the Rx Message.
[in] | msgRef | Rx Message Reference. |
[out] | serviceIdPtr | Service ID. |
[out] | instanceIdPtr | Instance ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetMethodId | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint16_t * | methodIdPtr | ||
) |
Gets the method ID of the Rx message.
[in] | msgRef | Rx Message reference. |
[out] | methodIdPtr | Method ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetClientId | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint16_t * | clientIdPtr | ||
) |
Gets the client ID of the Rx message.
[in] | msgRef | Rx Message reference. |
[out] | clientIdPtr | Client ID. |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetMsgType | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint8_t * | msgTypePtr | ||
) |
Gets the message type of the Rx message. The possible message type can be MT_REQUEST(0x00) or MT_REQUEST_NO_RETURN(0x01).
[in] | msgRef | Rx Message reference. |
[out] | msgTypePtr | Message Type. |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetPayloadSize | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint32_t * | payloadSizePtr | ||
) |
Gets the payload size of the Rx message.
[in] | msgRef | Rx Message reference. |
[out] | payloadSizePtr | Payload Size in bytes. |
LE_SHARED le_result_t ifgen_taf_someipSvr_GetPayloadData | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
uint8_t * | dataPtr, | ||
size_t * | dataSizePtr | ||
) |
Gets the payload data of the Rx message.
[in] | msgRef | Rx Message reference. |
[out] | dataPtr | Payload Data. |
[in,out] | dataSizePtr |
LE_SHARED le_result_t ifgen_taf_someipSvr_SendResponse | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef, | ||
bool | isErrRsp, | ||
uint8_t | returnCode, | ||
const uint8_t * | dataPtr, | ||
size_t | dataSize | ||
) |
Sends a response message for a Rx message. The Rx message is automatically freed after sending the response successfully.
NOTE: Only the message type MT_REQUEST(0x00) is allowed to send a response.
[in] | msgRef | Rx Message reference. |
[in] | isErrRsp | True with message type MT_ERROR(0x81), |
[in] | returnCode | Return Code. |
[in] | dataPtr | Payload Data. |
[in] | dataSize |
LE_SHARED le_result_t ifgen_taf_someipSvr_ReleaseRxMsg | ( | le_msg_SessionRef_t | _ifgen_sessionRef, |
taf_someipSvr_RxMsgRef_t | msgRef | ||
) |
Releases a Rx message.
[in] | msgRef | Rx Message reference. |