Andre Sodermans (wienerschnitzel) patch for building libupnp under

windows systems with VC9.


git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/trunk@335 119443c7-1b9e-41f8-b6fc-b9c35fce742c
This commit is contained in:
Marcelo Roberto Jimenez
2008-03-22 17:10:29 +00:00
parent 39e77f6d25
commit 0a173ca0c3
20 changed files with 1909 additions and 203 deletions

View File

@@ -29,9 +29,12 @@
//
///////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include "sample_util.h"
#include "upnp_tv_ctrlpt.h"
#include <stdio.h>
#include <string.h>
/*
@@ -124,108 +127,72 @@ TvCtrlPointPrintLongHelp( void )
SampleUtil_Print( "* TV Control Point Help Info *" );
SampleUtil_Print( "******************************" );
SampleUtil_Print( "" );
SampleUtil_Print
( "This sample control point application automatically searches" );
SampleUtil_Print
( "for and subscribes to the services of television device emulator" );
SampleUtil_Print
( "devices, described in the tvdevicedesc.xml description document." );
SampleUtil_Print( "This sample control point application automatically searches" );
SampleUtil_Print( "for and subscribes to the services of television device emulator" );
SampleUtil_Print( "devices, described in the tvdevicedesc.xml description document." );
SampleUtil_Print( "" );
SampleUtil_Print( "Commands:" );
SampleUtil_Print( " Help" );
SampleUtil_Print( " Print this help info." );
SampleUtil_Print( " ListDev" );
SampleUtil_Print
( " Print the current list of TV Device Emulators that this" );
SampleUtil_Print
( " control point is aware of. Each device is preceded by a" );
SampleUtil_Print
( " device number which corresponds to the devnum argument of" );
SampleUtil_Print( " Print the current list of TV Device Emulators that this" );
SampleUtil_Print( " control point is aware of. Each device is preceded by a" );
SampleUtil_Print( " device number which corresponds to the devnum argument of" );
SampleUtil_Print( " commands listed below." );
SampleUtil_Print( " Refresh" );
SampleUtil_Print
( " Delete all of the devices from the device list and issue new" );
SampleUtil_Print
( " search request to rebuild the list from scratch." );
SampleUtil_Print( " Delete all of the devices from the device list and issue new" );
SampleUtil_Print( " search request to rebuild the list from scratch." );
SampleUtil_Print( " PrintDev <devnum>" );
SampleUtil_Print
( " Print the state table for the device <devnum>." );
SampleUtil_Print
( " e.g., 'PrintDev 1' prints the state table for the first" );
SampleUtil_Print( " Print the state table for the device <devnum>." );
SampleUtil_Print( " e.g., 'PrintDev 1' prints the state table for the first" );
SampleUtil_Print( " device in the device list." );
SampleUtil_Print( " PowerOn <devnum>" );
SampleUtil_Print
( " Sends the PowerOn action to the Control Service of" );
SampleUtil_Print( " Sends the PowerOn action to the Control Service of" );
SampleUtil_Print( " device <devnum>." );
SampleUtil_Print( " PowerOff <devnum>" );
SampleUtil_Print
( " Sends the PowerOff action to the Control Service of" );
SampleUtil_Print( " Sends the PowerOff action to the Control Service of" );
SampleUtil_Print( " device <devnum>." );
SampleUtil_Print( " SetChannel <devnum> <channel>" );
SampleUtil_Print
( " Sends the SetChannel action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the channel to be changed" );
SampleUtil_Print( " Sends the SetChannel action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the channel to be changed" );
SampleUtil_Print( " to <channel>." );
SampleUtil_Print( " SetVolume <devnum> <volume>" );
SampleUtil_Print
( " Sends the SetVolume action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the volume to be changed" );
SampleUtil_Print( " Sends the SetVolume action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the volume to be changed" );
SampleUtil_Print( " to <volume>." );
SampleUtil_Print( " SetColor <devnum> <color>" );
SampleUtil_Print
( " Sends the SetColor action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the color to be changed" );
SampleUtil_Print( " Sends the SetColor action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the color to be changed" );
SampleUtil_Print( " to <color>." );
SampleUtil_Print( " SetTint <devnum> <tint>" );
SampleUtil_Print
( " Sends the SetTint action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the tint to be changed" );
SampleUtil_Print( " Sends the SetTint action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the tint to be changed" );
SampleUtil_Print( " to <tint>." );
SampleUtil_Print( " SetContrast <devnum> <contrast>" );
SampleUtil_Print
( " Sends the SetContrast action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the contrast to be changed" );
SampleUtil_Print( " Sends the SetContrast action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the contrast to be changed" );
SampleUtil_Print( " to <contrast>." );
SampleUtil_Print( " SetBrightness <devnum> <brightness>" );
SampleUtil_Print
( " Sends the SetBrightness action to the Control Service of" );
SampleUtil_Print
( " device <devnum>, requesting the brightness to be changed" );
SampleUtil_Print( " Sends the SetBrightness action to the Control Service of" );
SampleUtil_Print( " device <devnum>, requesting the brightness to be changed" );
SampleUtil_Print( " to <brightness>." );
SampleUtil_Print( " CtrlAction <devnum> <action>" );
SampleUtil_Print
( " Sends an action request specified by the string <action>" );
SampleUtil_Print
( " to the Control Service of device <devnum>. This command" );
SampleUtil_Print
( " only works for actions that have no arguments." );
SampleUtil_Print
( " (e.g., \"CtrlAction 1 IncreaseChannel\")" );
SampleUtil_Print( " Sends an action request specified by the string <action>" );
SampleUtil_Print( " to the Control Service of device <devnum>. This command" );
SampleUtil_Print( " only works for actions that have no arguments." );
SampleUtil_Print( " (e.g., \"CtrlAction 1 IncreaseChannel\")" );
SampleUtil_Print( " PictAction <devnum> <action>" );
SampleUtil_Print
( " Sends an action request specified by the string <action>" );
SampleUtil_Print
( " to the Picture Service of device <devnum>. This command" );
SampleUtil_Print
( " only works for actions that have no arguments." );
SampleUtil_Print
( " (e.g., \"PictAction 1 DecreaseContrast\")" );
SampleUtil_Print( " Sends an action request specified by the string <action>" );
SampleUtil_Print( " to the Picture Service of device <devnum>. This command" );
SampleUtil_Print( " only works for actions that have no arguments." );
SampleUtil_Print( " (e.g., \"PictAction 1 DecreaseContrast\")" );
SampleUtil_Print( " CtrlGetVar <devnum> <varname>" );
SampleUtil_Print
( " Requests the value of a variable specified by the string <varname>" );
SampleUtil_Print
( " from the Control Service of device <devnum>." );
SampleUtil_Print( " Requests the value of a variable specified by the string <varname>" );
SampleUtil_Print( " from the Control Service of device <devnum>." );
SampleUtil_Print( " (e.g., \"CtrlGetVar 1 Volume\")" );
SampleUtil_Print( " PictGetVar <devnum> <action>" );
SampleUtil_Print
( " Requests the value of a variable specified by the string <varname>" );
SampleUtil_Print
( " from the Picture Service of device <devnum>." );
SampleUtil_Print( " Requests the value of a variable specified by the string <varname>" );
SampleUtil_Print( " from the Picture Service of device <devnum>." );
SampleUtil_Print( " (e.g., \"PictGetVar 1 Tint\")" );
SampleUtil_Print( " Exit" );
SampleUtil_Print( " Exits the control point application." );
@@ -242,7 +209,7 @@ TvCtrlPointPrintLongHelp( void )
*
********************************************************************************/
void
TvCtrlPointPrintCommands( )
TvCtrlPointPrintCommands()
{
int i;
int numofcmds = sizeof( cmdloop_cmdlist ) / sizeof( cmdloop_commands );
@@ -321,11 +288,11 @@ TvCtrlPointProcessCommand( char *cmdline )
switch ( cmdnum ) {
case PRTHELP:
TvCtrlPointPrintShortHelp( );
TvCtrlPointPrintShortHelp();
break;
case PRTFULLHELP:
TvCtrlPointPrintLongHelp( );
TvCtrlPointPrintLongHelp();
break;
case POWON:
@@ -411,15 +378,15 @@ TvCtrlPointProcessCommand( char *cmdline )
break;
case LSTDEV:
TvCtrlPointPrintList( );
TvCtrlPointPrintList();
break;
case REFRESH:
TvCtrlPointRefresh( );
TvCtrlPointRefresh();
break;
case EXITCMD:
rc = TvCtrlPointStop( );
rc = TvCtrlPointStop();
exit( rc );
break;
@@ -440,20 +407,23 @@ main( int argc,
{
int rc;
ithread_t cmdloop_thread;
#ifndef WIN32
int sig;
sigset_t sigs_to_catch;
#endif
int code;
rc = TvCtrlPointStart( linux_print, NULL );
if( rc != TV_SUCCESS ) {
SampleUtil_Print( "Error starting UPnP TV Control Point" );
exit( rc );
return rc;
}
// start a command loop thread
code =
ithread_create( &cmdloop_thread, NULL, TvCtrlPointCommandLoop,
NULL );
#ifndef WIN32
/*
Catch Ctrl-C and properly shutdown
*/
@@ -462,6 +432,10 @@ main( int argc,
sigwait( &sigs_to_catch, &sig );
SampleUtil_Print( "Shutting down on signal %d...", sig );
rc = TvCtrlPointStop( );
exit( rc );
#else
ithread_join(cmdloop_thread, NULL);
#endif
rc = TvCtrlPointStop();
return rc;
}