One setp further to stop the CLIENTONLY() mess.

(cherry picked from commit 0158f52ee2293defae0336c39093cc8016b869cb)
This commit is contained in:
Marcelo Roberto Jimenez 2010-09-10 18:56:36 -03:00
parent 159d2b1b1f
commit 30ee3c0cbb
3 changed files with 38 additions and 30 deletions

View File

@ -55,9 +55,11 @@ typedef struct MServerSockArray {
SOCKET miniServerPort4;
SOCKET miniServerPort6;
#ifdef INCLUDE_CLIENT_APIS
/* socket for sending search requests and receiving search replies */
CLIENTONLY(SOCKET ssdpReqSock4;)
CLIENTONLY(SOCKET ssdpReqSock6;)
SOCKET ssdpReqSock4;
SOCKET ssdpReqSock6;
#endif /* INCLUDE_CLIENT_APIS */
} MiniServerSockArray;

View File

@ -176,10 +176,12 @@ typedef struct
/* globals */
CLIENTONLY(extern SOCKET gSsdpReqSocket4;);
#ifdef UPNP_ENABLE_IPV6
CLIENTONLY(extern SOCKET gSsdpReqSocket6;);
#endif
#ifdef INCLUDE_CLIENT_APIS
extern SOCKET gSsdpReqSocket4;
#ifdef UPNP_ENABLE_IPV6
extern SOCKET gSsdpReqSocket6;
#endif /* UPNP_ENABLE_IPV6 */
#endif /* INCLUDE_CLIENT_APIS */
typedef int (*ParserFun)(char *, Event *);

View File

@ -50,10 +50,12 @@
#define MAX_TIME_TOREAD 45
CLIENTONLY( SOCKET gSsdpReqSocket4 = INVALID_SOCKET; )
#ifdef UPNP_ENABLE_IPV6
CLIENTONLY( SOCKET gSsdpReqSocket6 = INVALID_SOCKET; )
#endif
#ifdef INCLUDE_CLIENT_APIS
SOCKET gSsdpReqSocket4 = INVALID_SOCKET;
#ifdef UPNP_ENABLE_IPV6
SOCKET gSsdpReqSocket6 = INVALID_SOCKET;
#endif /* UPNP_ENABLE_IPV6 */
#endif /* INCLUDE_CLIENT_APIS */
void RequestHandler();
int create_ssdp_sock_v4( SOCKET* ssdpSock );
@ -72,10 +74,12 @@ Event ErrotEvt;
enum Listener { Idle, Stopping, Running };
struct SSDPSockArray {
// socket for incoming advertisments and search requests
/* socket for incoming advertisments and search requests */
SOCKET ssdpSock;
// socket for sending search requests and receiving search replies
CLIENTONLY( int ssdpReqSock; )
#ifdef INCLUDE_CLIENT_APIS
/* socket for sending search requests and receiving search replies */
int ssdpReqSock;
#endif /* INCLUDE_CLIENT_APIS */
};
#ifdef INCLUDE_DEVICE_APIS
@ -738,26 +742,26 @@ start_event_handler( void *Data )
* Returns: void
*
***************************************************************************/
static void
ssdp_event_handler_thread( void *the_data )
static void ssdp_event_handler_thread(void * the_data)
{
ssdp_thread_data *data = ( ssdp_thread_data * ) the_data;
http_message_t *hmsg = &data->parser.msg;
ssdp_thread_data *data = (ssdp_thread_data *)the_data;
http_message_t *hmsg = &data->parser.msg;
if( start_event_handler( the_data ) != 0 ) {
return;
}
// send msg to device or ctrlpt
if( ( hmsg->method == HTTPMETHOD_NOTIFY ) ||
( hmsg->request_method == HTTPMETHOD_MSEARCH ) ) {
CLIENTONLY( ssdp_handle_ctrlpt_msg( hmsg,
(struct sockaddr*)&data->dest_addr, FALSE, NULL );)
} else {
ssdp_handle_device_request( hmsg, (struct sockaddr*)&data->dest_addr );
}
if (start_event_handler(the_data) != 0) {
return;
}
/* send msg to device or ctrlpt */
if (hmsg->method == HTTPMETHOD_NOTIFY ||
hmsg->request_method == HTTPMETHOD_MSEARCH) {
#ifdef INCLUDE_CLIENT_APIS
ssdp_handle_ctrlpt_msg(hmsg, (struct sockaddr*)&data->dest_addr, FALSE, NULL);
#endif /* INCLUDE_CLIENT_APIS */
} else {
ssdp_handle_device_request(hmsg, (struct sockaddr*)&data->dest_addr);
}
// free data
free_ssdp_event_handler_data( data );
/* free data */
free_ssdp_event_handler_data(data);
}
/************************************************************************