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

Method PadConnect

360Controller/_60Controller.cpp:981–1019  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

979// Main controller support
980
981void Xbox360Peripheral::PadConnect(void)
982{
983 PadDisconnect();
984 if (controllerType == XboxOriginal) {
985 padHandler = new XboxOriginalControllerClass;
986 } else if (controllerType == XboxOne) {
987 padHandler = new XboxOneControllerClass;
988 } else if (controllerType == XboxOnePretend360) {
989 padHandler = new XboxOnePretend360Class;
990 } else if (controllerType == Xbox360Pretend360) {
991 padHandler = new Xbox360Pretend360Class;
992 } else {
993 padHandler = new Xbox360ControllerClass;
994 }
995 if (padHandler != NULL)
996 {
997 const OSString *keys[] = {
998 OSString::withCString(kIOSerialDeviceType),
999 OSString::withCString("IOCFPlugInTypes"),
1000 OSString::withCString("IOKitDebug"),
1001 };
1002 const OSObject *objects[] = {
1003 OSNumber::withNumber((unsigned long long)1, 32),
1004 getProperty("IOCFPlugInTypes"),
1005 OSNumber::withNumber((unsigned long long)65535, 32),
1006 };
1007 OSDictionary *dictionary = OSDictionary::withObjects(objects, keys, sizeof(keys) / sizeof(keys[0]));
1008 if (padHandler->init(dictionary))
1009 {
1010 padHandler->attach(this);
1011 padHandler->start(this);
1012 }
1013 else
1014 {
1015 padHandler->release();
1016 padHandler = NULL;
1017 }
1018 }
1019}
1020
1021void Xbox360Peripheral::PadDisconnect(void)
1022{

Callers

nothing calls this directly

Calls 2

initMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected