Example #1
0
int
main( int argc,
      char **argv )
{
    int rc;
    ithread_t cmdloop_thread;
    int sig;
    sigset_t sigs_to_catch;
    int code;

    rc = TvCtrlPointStart( linux_print, NULL );
    if( rc != TV_SUCCESS ) {
        SampleUtil_Print( "Error starting UPnP TV Control Point" );
        exit( rc );
    }
    // start a command loop thread
    code =
        ithread_create( &cmdloop_thread, NULL, TvCtrlPointCommandLoop,
                        NULL );

    /*
       Catch Ctrl-C and properly shutdown 
     */
    sigemptyset( &sigs_to_catch );
    sigaddset( &sigs_to_catch, SIGINT );
    sigwait( &sigs_to_catch, &sig );

    SampleUtil_Print( "Shutting down on signal %d...", sig );
    rc = TvCtrlPointStop(  );
    exit( rc );
}
Example #2
0
////////////////////////////////////////////////////////////////////////////
//Function: main
////////////////////////////////////////////////////////////////////////////
int main(void)
{
    char **postvars = NULL;  // POST request data repository
    char **getvars = NULL;   // GET request data repository
    int form_method;         // POST = 1, GET = 0
    ithread_t cmdloop_thread;
    int code;
    int sig;
    
    want_action=0;
    system("route add -net 239.0.0.0 netmask 255.0.0.0 eth0");//Ìí¼Ó½ÓÎ
    init_upnp_ctl();
   sleep(200);
     // code = ithread_create( &cmdloop_thread, NULL, TvCtrlPointCommandLoop,NULL );
     TvCtrlPointStop();
     printf("sleep");
   
      
}  
Example #3
0
int main(int argc, char **argv)
{
	int rc;
	ithread_t cmdloop_thread;
#ifdef WIN32
#else
	int sig;
	sigset_t sigs_to_catch;
#endif
	int code;

	rc = TvCtrlPointStart(linux_print, NULL, 0);
	if (rc != TV_SUCCESS) {
		SampleUtil_Print("Error starting UPnP TV Control Point\n");
		return rc;
	}
	/* start a command loop thread */
	code = ithread_create(&cmdloop_thread, NULL, TvCtrlPointCommandLoop, NULL);
	if (code !=  0) {
		return UPNP_E_INTERNAL_ERROR;
	}
#ifdef WIN32
	ithread_join(cmdloop_thread, NULL);
#else
	/* Catch Ctrl-C and properly shutdown */
	sigemptyset(&sigs_to_catch);
	sigaddset(&sigs_to_catch, SIGINT);
	sigwait(&sigs_to_catch, &sig);
	SampleUtil_Print("Shutting down on signal %d...\n", sig);
#endif
	rc = TvCtrlPointStop();

	return rc;
	argc = argc;
	argv = argv;
}
Example #4
0
int
TvCtrlPointProcessCommand( char *cmdline )
{
    char cmd[100];
    char strarg[100];
    int arg_val_err = -99999;
    int arg1 = arg_val_err;
    int arg2 = arg_val_err;
    int cmdnum = -1;
    int numofcmds = sizeof( cmdloop_cmdlist ) / sizeof( cmdloop_commands );
    int cmdfound = 0;
    int i,
      rc;
    int invalidargs = 0;
    int validargs;

    validargs = sscanf( cmdline, "%s %d %d", cmd, &arg1, &arg2 );

    for( i = 0; i < numofcmds; i++ ) {
        if( strcasecmp( cmd, cmdloop_cmdlist[i].str ) == 0 ) {
            cmdnum = cmdloop_cmdlist[i].cmdnum;
            cmdfound++;
            if( validargs != cmdloop_cmdlist[i].numargs )
                invalidargs++;
            break;
        }
    }

    if( !cmdfound ) {
        SampleUtil_Print( "Command not found; try 'Help'" );
        return TV_SUCCESS;
    }

    if( invalidargs ) {
        SampleUtil_Print( "Invalid arguments; try 'Help'" );
        return TV_SUCCESS;
    }

    switch ( cmdnum ) {
        case PRTHELP:
            TvCtrlPointPrintShortHelp(  );
            break;

        case PRTFULLHELP:
            TvCtrlPointPrintLongHelp(  );
            break;

        case POWON:
            TvCtrlPointSendPowerOn( arg1 );
            break;

        case POWOFF:
            TvCtrlPointSendPowerOff( arg1 );
            break;

        case SETCHAN:
            TvCtrlPointSendSetChannel( arg1, arg2 );
            break;

        case SETVOL:
            TvCtrlPointSendSetVolume( arg1, arg2 );
            break;

        case SETCOL:
            TvCtrlPointSendSetColor( arg1, arg2 );
            break;

        case SETTINT:
            TvCtrlPointSendSetTint( arg1, arg2 );
            break;

        case SETCONT:
            TvCtrlPointSendSetContrast( arg1, arg2 );
            break;

        case SETBRT:
            TvCtrlPointSendSetBrightness( arg1, arg2 );
            break;

        case CTRLACTION:
            /*
               re-parse commandline since second arg is string 
             */
            validargs = sscanf( cmdline, "%s %d %s", cmd, &arg1, strarg );
            if( 3 == validargs )
                TvCtrlPointSendAction( TV_SERVICE_CONTROL, arg1, strarg,
                                       NULL, NULL, 0 );
            else
                invalidargs++;
            break;

        case PICTACTION:
            /*
               re-parse commandline since second arg is string 
             */
            validargs = sscanf( cmdline, "%s %d %s", cmd, &arg1, strarg );
            if( 3 == validargs )
                TvCtrlPointSendAction( TV_SERVICE_PICTURE, arg1, strarg,
                                       NULL, NULL, 0 );
            else
                invalidargs++;
            break;

        case CTRLGETVAR:
            /*
               re-parse commandline since second arg is string 
             */
            validargs = sscanf( cmdline, "%s %d %s", cmd, &arg1, strarg );
            if( 3 == validargs )
                TvCtrlPointGetVar( TV_SERVICE_CONTROL, arg1, strarg );
            else
                invalidargs++;
            break;

        case PICTGETVAR:
            /*
               re-parse commandline since second arg is string 
             */
            validargs = sscanf( cmdline, "%s %d %s", cmd, &arg1, strarg );
            if( 3 == validargs )
                TvCtrlPointGetVar( TV_SERVICE_PICTURE, arg1, strarg );
            else
                invalidargs++;
            break;

        case PRTDEV:
            TvCtrlPointPrintDevice( arg1 );
            break;

        case LSTDEV:
            TvCtrlPointPrintList(  );
            break;

        case REFRESH:
            TvCtrlPointRefresh(  );
            break;

        case EXITCMD:
            rc = TvCtrlPointStop(  );
            exit( rc );
            break;

        default:
            SampleUtil_Print( "Command not implemented; see 'Help'" );
            break;
    }

    if( invalidargs )
        SampleUtil_Print( "Invalid args in command; see 'Help'" );

    return TV_SUCCESS;
}