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); }
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)); } } }