/**
* Callback function to pass the connection information from CA to RI.
* @param[out] object remote device information.
+ * @param[out] isConnected Whether keepalive message needs to be sent.
+ * @param[out] isClient Host Mode of Operation.
*/
-typedef void (*CAKeepAliveConnectedCallback)(const CAEndpoint_t *object);
+typedef void (*CAKeepAliveConnectionCallback)(const CAEndpoint_t *object, bool isConnected,
+ bool isClient);
/**
- * Callback function to pass the disconnection information from CA to RI.
- * @param[out] object remote device information.
- */
-typedef void (*CAKeepAliveDisconnectedCallback)(const CAEndpoint_t *object);
-
-/**
- * Register connected callback and disconnected callback to process KeepAlive.
+ * Register connection status changes callback to process KeepAlive.
* connection informations are delivered these callbacks.
- * @param[in] ConnHandler Connected callback.
- * @param[in] DisconnHandler Disconnected Callback.
+ * @param[in] ConnHandler Connection status changes callback.
*/
-void CARegisterKeepAliveHandler(CAKeepAliveConnectedCallback ConnHandler,
- CAKeepAliveDisconnectedCallback DisconnHandler);
+void CARegisterKeepAliveHandler(CAKeepAliveConnectionCallback ConnHandler);
#endif
/**
* Initialize the connectivity abstraction module.
* It will initialize adapters, thread pool and other modules based on the platform
* compilation options.
- *
+ * @param[in] transportType transport type to initialize.
* @return ::CA_STATUS_OK or ::CA_STATUS_FAILED or ::CA_MEMORY_ALLOC_FAILED
*/
-CAResult_t CAInitialize();
+CAResult_t CAInitialize(CATransportAdapter_t transportType);
/**
* Terminate the connectivity abstraction module.
CAResult_t CASetRAInfo(const CARAInfo_t *caraInfo);
#endif
-
+#ifdef WITH_CHPROXY
+/**
+ * This function sets uri being used for proxy.
+ *
+ * @param uri NULL terminated resource uri for CoAP-HTTP Proxy.
+ *
+ * @return ::CA_STATUS_OK or ::CA_STATUS_INVALID_PARAM
+ */
+CAResult_t CASetProxyUri(const char *uri);
+#endif
#ifdef __cplusplus
} /* extern "C" */