*
*/
-#ifndef _WFDSOURCEPROXY_H_\r
-#define _WFDSOURCEPROXY_H_\r
-\r
-/*******************\r
- * Allow for C++ users\r
- */\r
-#ifdef __cplusplus\r
-extern "C"\r
-{\r
-#endif\r
-\r
-#include <string.h>\r
-#include <glib.h>\r
-#include <mm_message.h>\r
-#include <mm_error.h>\r
-#include <mm_types.h>\r
-#include <mm_debug.h>\r
-#include <sys/types.h>\r
-#include <sys/socket.h>\r
-#include <netinet/in.h>\r
-#include <netdb.h>\r
-\r
-/**\r
- * Enumerations of wifi-display states.\r
- */\r
-typedef enum {\r
- WFDSRC_STATE_NULL = 0, /**< wifi-display is created, but not realized yet */\r
- WFDSRC_STATE_READY, /**< wifi-display is ready to play media */\r
- WFDSRC_STATE_CONNECTION_WAIT, /** < wifi-display is waiting for connection */\r
- WFDSRC_STATE_CONNECTED, /** < wifi-display is connected */\r
- WFDSRC_STATE_PLAYING, /**< wifi-display is now playing media */\r
- WFDSRC_STATE_PAUSED, /**< wifi-display is paused while playing media */\r
- WFDSRC_STATE_NONE, /**< wifi-display is not created yet */\r
- WFDSRC_STATE_NUM /**< Number of wifi-display states */\r
-} WfdSrcProxyState;\r
-\r
-typedef enum {\r
- WFDSRC_COMMAND_NONE = 0,\r
- WFDSRC_COMMAND_CREATE,\r
- WFDSRC_COMMAND_DESTROY,\r
- WFDSRC_COMMAND_REALIZE,\r
- WFDSRC_COMMAND_UNREALIZE,\r
- WFDSRC_COMMAND_CONNECT,\r
- WFDSRC_COMMAND_START,\r
- WFDSRC_COMMAND_STOP,\r
- WFDSRC_COMMAND_PAUSE,\r
- WFDSRC_COMMAND_RESUME,\r
- WFDSRC_COMMAND_NUM,\r
-}WfdSrcProxyCmd;\r
-\r
-/**\r
- * Enumerations of wifi-display source module errors and proxy errors\r
- * Note: Ensure appending of proxy errors after WFD source module errors\r
- */\r
-typedef enum {\r
- WFDSRC_ERROR_NONE = 0,\r
- WFDSRC_ERROR_UNKNOWN,\r
- WFDSRC_ERROR_WFD_INVALID_ARGUMENT,\r
- WFDSRC_ERROR_WFD_NO_FREE_SPACE,\r
- WFDSRC_ERROR_WFD_NOT_INITIALIZED,\r
- WFDSRC_ERROR_WFD_NO_OP,\r
- WFDSRC_ERROR_WFD_INVALID_STATE,\r
- WFDSRC_ERROR_WFD_INTERNAL\r
-} WfdSrcProxyRet;\r
-\r
-/**\r
- * Application callback,\r
- */\r
-typedef void (*WfdSrcProxyStateError_cb) (MMHandleType pHandle,\r
- WfdSrcProxyRet error_code,\r
- WfdSrcProxyState state,\r
- void *user_data);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyInit\r
- * =========\r
- * Description:\r
- * =======\r
- * This API does the following\r
- * - creates handle\r
- * - creates socket and connect to server address ( IPC)\r
- * - This ensures socket listen on server to be successful\r
- * - call back registration\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- * appCb - pointer to application callback\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- *******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyInit(\r
- MMHandleType *pHandle,\r
- WfdSrcProxyStateError_cb *appCb,\r
- void *user_data );\r
-\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyDeInit\r
- * =========\r
- * Description:\r
- * =======\r
- * - Free the handle\r
- * - close the sockets\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- *******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyDeInit(MMHandleType pHandle );\r
-\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxySetIPAddrAndPort\r
- * =========\r
- * Description:\r
- * =======\r
- * This API sets IP address and port number to be used by WFD source.\r
- * Application should call this API after Initialize is called.\r
- * IP address and port number is sent to WFD source Server (daemon)\r
- * on IPC\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- * wfdsrcIP - IP address string\r
- * wfdsrcPort : Port no string\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxySetIPAddrAndPort(\r
- MMHandleType pHandle,\r
- char *wfdsrcIP,\r
- char *wfdsrcPort);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyConnect\r
- * =========\r
- * Description:\r
- * =======\r
- * This API is used to connect WiFi display source to client.\r
- * After return, display mode should be set to X\r
- * refer to utilx_scrnconf_set_dispmode()\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyConnect(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyStart\r
- * =========\r
- * Description:\r
- * =======\r
- * This API is used to start WiFi display source to start sending data\r
- * to client.\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyStart(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyPause\r
- * =========\r
- * Description:\r
- * =======\r
- * This API is used to pause WFD streaming between source and sink.\r
- * This pauses the streaming between WFD source and sink. So that\r
- * when user resumes back, streaming does not continue from the point\r
- * where it stopped, instead it will start from current content.\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyPause(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyResume\r
- * =========\r
- * Description:\r
- * =======\r
- * This API is used to resume WFD streaming between source and sink\r
- * Resume after pause starts from current content that is viewed on source\r
- * No caching of content from the time it is paused is done.\r
- *\r
- * Arguments:\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyResume(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyStop\r
- * =========\r
- * Description:\r
- * =======\r
- * This API stops WFD streaming between source and sink.\r
- * The Server(daemon) will be still running even after stop.\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return one of WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyStop(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyDestroyServer\r
- * =========\r
- * Description:\r
- * =======\r
- * This API destroy WFD server which is already in STOP state.\r
- * The Server(daemon) will be destroyed after this call.\r
- *\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return one of WfdSrcProxyRet\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyRet WfdSrcProxyDestroyServer(MMHandleType pHandle);\r
-\r
-/*******************************************************\r
- * Function Name: WfdSrcProxyGetCurrentState\r
- * =========\r
- * Description:\r
- * =======\r
- * This API is a provision given to Application, if in any case\r
- * application needs to know the status of WiFi Source server state.\r
- * This is a synchronous call.\r
- * Arguments:\r
- * =======\r
- * pHandle - pointer to WfdSrcProxyInfo\r
- *\r
- * Return : return one of the states from WfdSrcProxyState\r
- * ====\r
- ******************************************************/\r
-WfdSrcProxyState WfdSrcProxyGetCurrentState(MMHandleType pHandle);\r
-\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif //__cplusplus\r
-\r
+#ifndef _WFDSOURCEPROXY_H_
+#define _WFDSOURCEPROXY_H_
+
+/*******************
+ * Allow for C++ users
+ */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <string.h>
+#include <glib.h>
+#include <mm_message.h>
+#include <mm_error.h>
+#include <mm_types.h>
+#include <mm_debug.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+
+/**
+ * Enumerations of wifi-display states.
+ */
+typedef enum {
+ WFDSRC_STATE_NULL = 0, /**< wifi-display is created, but not realized yet */
+ WFDSRC_STATE_READY, /**< wifi-display is ready to play media */
+ WFDSRC_STATE_CONNECTION_WAIT, /** < wifi-display is waiting for connection */
+ WFDSRC_STATE_CONNECTED, /** < wifi-display is connected */
+ WFDSRC_STATE_PLAYING, /**< wifi-display is now playing media */
+ WFDSRC_STATE_PAUSED, /**< wifi-display is paused while playing media */
+ WFDSRC_STATE_NONE, /**< wifi-display is not created yet */
+ WFDSRC_STATE_NUM /**< Number of wifi-display states */
+} WfdSrcProxyState;
+
+typedef enum {
+ WFDSRC_COMMAND_NONE = 0,
+ WFDSRC_COMMAND_CREATE,
+ WFDSRC_COMMAND_DESTROY,
+ WFDSRC_COMMAND_REALIZE,
+ WFDSRC_COMMAND_UNREALIZE,
+ WFDSRC_COMMAND_CONNECT,
+ WFDSRC_COMMAND_START,
+ WFDSRC_COMMAND_STOP,
+ WFDSRC_COMMAND_PAUSE,
+ WFDSRC_COMMAND_RESUME,
+ WFDSRC_COMMAND_NUM,
+}WfdSrcProxyCmd;
+
+/**
+ * Enumerations of wifi-display source module errors and proxy errors
+ * Note: Ensure appending of proxy errors after WFD source module errors
+ */
+typedef enum {
+ WFDSRC_ERROR_NONE = 0,
+ WFDSRC_ERROR_UNKNOWN,
+ WFDSRC_ERROR_WFD_INVALID_ARGUMENT,
+ WFDSRC_ERROR_WFD_NO_FREE_SPACE,
+ WFDSRC_ERROR_WFD_NOT_INITIALIZED,
+ WFDSRC_ERROR_WFD_NO_OP,
+ WFDSRC_ERROR_WFD_INVALID_STATE,
+ WFDSRC_ERROR_WFD_INTERNAL
+} WfdSrcProxyRet;
+
+/**
+ * Application callback,
+ */
+typedef void (*WfdSrcProxyStateError_cb) (MMHandleType pHandle,
+ WfdSrcProxyRet error_code,
+ WfdSrcProxyState state,
+ void *user_data);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyInit
+ * =========
+ * Description:
+ * =======
+ * This API does the following
+ * - creates handle
+ * - creates socket and connect to server address ( IPC)
+ * - This ensures socket listen on server to be successful
+ * - call back registration
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ * appCb - pointer to application callback
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ *******************************************************/
+WfdSrcProxyRet WfdSrcProxyInit(
+ MMHandleType *pHandle,
+ WfdSrcProxyStateError_cb *appCb,
+ void *user_data );
+
+
+/*******************************************************
+ * Function Name: WfdSrcProxyDeInit
+ * =========
+ * Description:
+ * =======
+ * - Free the handle
+ * - close the sockets
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ *******************************************************/
+WfdSrcProxyRet WfdSrcProxyDeInit(MMHandleType pHandle );
+
+
+/*******************************************************
+ * Function Name: WfdSrcProxySetIPAddrAndPort
+ * =========
+ * Description:
+ * =======
+ * This API sets IP address and port number to be used by WFD source.
+ * Application should call this API after Initialize is called.
+ * IP address and port number is sent to WFD source Server (daemon)
+ * on IPC
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ * wfdsrcIP - IP address string
+ * wfdsrcPort : Port no string
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxySetIPAddrAndPort(
+ MMHandleType pHandle,
+ char *wfdsrcIP,
+ char *wfdsrcPort);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyConnect
+ * =========
+ * Description:
+ * =======
+ * This API is used to connect WiFi display source to client.
+ * After return, display mode should be set to X
+ * refer to utilx_scrnconf_set_dispmode()
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyConnect(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyStart
+ * =========
+ * Description:
+ * =======
+ * This API is used to start WiFi display source to start sending data
+ * to client.
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyStart(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyPause
+ * =========
+ * Description:
+ * =======
+ * This API is used to pause WFD streaming between source and sink.
+ * This pauses the streaming between WFD source and sink. So that
+ * when user resumes back, streaming does not continue from the point
+ * where it stopped, instead it will start from current content.
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyPause(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyResume
+ * =========
+ * Description:
+ * =======
+ * This API is used to resume WFD streaming between source and sink
+ * Resume after pause starts from current content that is viewed on source
+ * No caching of content from the time it is paused is done.
+ *
+ * Arguments:
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyResume(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyStop
+ * =========
+ * Description:
+ * =======
+ * This API stops WFD streaming between source and sink.
+ * The Server(daemon) will be still running even after stop.
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return one of WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyStop(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyDestroyServer
+ * =========
+ * Description:
+ * =======
+ * This API destroy WFD server which is already in STOP state.
+ * The Server(daemon) will be destroyed after this call.
+ *
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return one of WfdSrcProxyRet
+ * ====
+ ******************************************************/
+WfdSrcProxyRet WfdSrcProxyDestroyServer(MMHandleType pHandle);
+
+/*******************************************************
+ * Function Name: WfdSrcProxyGetCurrentState
+ * =========
+ * Description:
+ * =======
+ * This API is a provision given to Application, if in any case
+ * application needs to know the status of WiFi Source server state.
+ * This is a synchronous call.
+ * Arguments:
+ * =======
+ * pHandle - pointer to WfdSrcProxyInfo
+ *
+ * Return : return one of the states from WfdSrcProxyState
+ * ====
+ ******************************************************/
+WfdSrcProxyState WfdSrcProxyGetCurrentState(MMHandleType pHandle);
+
+
+#ifdef __cplusplus
+}
+#endif //__cplusplus
+
#endif //_WFDSOURCEPROXY_H_