MCPcopy Create free account
hub / github.com/360Controller/360Controller / SendForceFeedbackCommand

Method SendForceFeedbackCommand

XBOBTFF/FFDriver.cpp:458–507  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

456}
457
458HRESULT FeedbackXBOBT::SendForceFeedbackCommand(FFCommandFlag state)
459{
460 __block HRESULT Result = FF_OK;
461
462 dispatch_sync(Queue, ^{
463 switch (state) {
464 case FFSFFC_RESET:
465 EffectList.clear();
466 Stopped = true;
467 Paused = false;
468 break;
469
470 case FFSFFC_STOPALL:
471 for (FeedbackXBOEffectIterator effectIterator = EffectList.begin() ; effectIterator != EffectList.end(); ++effectIterator)
472 {
473 effectIterator->Status = NULL;
474 }
475 Stopped = true;
476 Paused = false;
477 break;
478
479 case FFSFFC_PAUSE:
480 Paused = true;
481 PausedTime = CurrentTimeUsingMach();
482 break;
483
484 case FFSFFC_CONTINUE:
485 for (FeedbackXBOEffectIterator effectIterator = EffectList.begin() ; effectIterator != EffectList.end(); ++effectIterator)
486 {
487 effectIterator->StartTime += ( CurrentTimeUsingMach() - PausedTime );
488 }
489 Paused = false;
490 break;
491
492 case FFSFFC_SETACTUATORSON:
493 Actuator = true;
494 break;
495
496 case FFSFFC_SETACTUATORSOFF:
497 Actuator = false;
498 break;
499
500 default:
501 Result = FFERR_INVALIDPARAM;
502 break;
503 }
504 });
505 //return Result;
506 return FF_OK;
507}
508
509HRESULT FeedbackXBOBT::InitializeTerminate(NumVersion APIversion, io_object_t hidDevice, boolean_t begin)
510{

Callers 1

Calls 1

CurrentTimeUsingMachFunction · 0.70

Tested by

no test coverage detected