Ejemplo n.º 1
0
MBEG
#else
int main(int argc, char* argv[])
#endif
{
  mUpnpControlPoint* ctrlPoint;

  ctrlPoint = mupnp_controlpoint_new();
  if (!mupnp_controlpoint_start(ctrlPoint)) {
    printf("Couldn't start this control point !!");
    exit(1);
  }

  mupnp_controlpoint_search(ctrlPoint, MUPNP_ST_ROOT_DEVICE);

  mupnp_sleep(mupnp_controlpoint_getssdpsearchmx(ctrlPoint) * 1000);

  PrintDMSInfos(ctrlPoint);

  mupnp_controlpoint_stop(ctrlPoint);
  mupnp_controlpoint_delete(ctrlPoint);

  return (0);
}
Ejemplo n.º 2
0
void ControlDeviceAlter(mUpnpControlPoint *ctrlPoint, int alteration_mask)
{
	mUpnpDevice *selDev;
	mUpnpService *selService;
	mUpnpAction *selAction;
	bool actionSuccess;
	mUpnpArgument *arg;
	char argValue[2048];
	
	printf("Control Device\n");
	
	selDev = SelectDevice(ctrlPoint);
	if (selDev == NULL)
		return;
	selService = SelectService(selDev);
	if (selService == NULL)
		return;
	selAction = SelectAction(selService);
	if (selAction == NULL)
		return;
	
	for (arg = mupnp_action_getarguments(selAction); arg; arg = mupnp_argument_next(arg)) {
		if (mupnp_argument_isindirection(arg) == true) {
			printf("%s : ", mupnp_argument_getname(arg));
			if (scanf("%s", argValue) == 1)
				mupnp_argument_setvalue(arg, argValue);
		}
	}

	/* NOTE: Go through selAction memory management... */
	if (alteration_mask & CMD_LOOP_ACTION_CALLS)
	{
		int loop_count, i;

		printf("\nHow many times action should be sent?");
		
		if ( 1 == scanf("%d", &loop_count) )
		{
			printf("\n");
			for (i=0; i<loop_count; i++)
			{
				actionSuccess = mupnp_action_post(selAction);
				printf("Control Result(%d)\n", (int)actionSuccess);
			}

			mupnp_sleep(3000);

			for (	arg = mupnp_action_getarguments(selAction); 
				arg; 
				arg = mupnp_argument_next(arg)) 
			{
				if (mupnp_argument_isoutdirection(arg) == true)
					printf(" %s = %s\n", 
							mupnp_argument_getname(arg), 
							mupnp_argument_getvalue(arg));
			}

			mupnp_sleep(2000);
		}
	}

	if ((alteration_mask & CMD_NO_ALTERATIONS) == CMD_NO_ALTERATIONS)
	{	
		actionSuccess = mupnp_action_post(selAction);
		
		printf("Control Result(%d)\n", (int)actionSuccess);
		for (arg = mupnp_action_getarguments(selAction); arg; arg = mupnp_argument_next(arg)) {
			if (mupnp_argument_isoutdirection(arg) == true)
				printf(" %s = %s\n", mupnp_argument_getname(arg), mupnp_argument_getvalue(arg));
		}
	}
}