MCPcopy Create free account
hub / github.com/OpenNI/OpenNI / xnRegisterToModuleStateChange

Function xnRegisterToModuleStateChange

Source/OpenNI/XnOpenNI.cpp:2993–3015  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2991}
2992
2993XnStatus xnRegisterToModuleStateChange(XnModuleRegisterStateChangeFuncPtr funcPtr, XnModuleNodeHandle hModuleNode, XnNodeHandle hNode, XnStateChangedHandler handler, void* pCookie, XnCallbackHandle* phCallback)
2994{
2995 XnStatus nRetVal = XN_STATUS_OK;
2996
2997 XnModuleStateCookie* pModuleCookie = NULL;
2998 XN_VALIDATE_CALLOC(pModuleCookie, XnModuleStateCookie, 1);
2999 pModuleCookie->hNode = hNode;
3000 pModuleCookie->userHandler = handler;
3001 pModuleCookie->pUserCookie = pCookie;
3002
3003 nRetVal = funcPtr(hModuleNode, xnModuleStateChanged, pModuleCookie, &pModuleCookie->hModuleCallback);
3004 if (nRetVal != XN_STATUS_OK)
3005 {
3006 xnOSFree(pModuleCookie);
3007 return (nRetVal);
3008 }
3009
3010 // keep the cookie, so we can free it when node is destroyed
3011 hNode->pRegistrationCookiesHash->Set(pModuleCookie, pModuleCookie);
3012
3013 *phCallback = pModuleCookie;
3014 return (XN_STATUS_OK);
3015}
3016
3017void xnUnregisterFromModuleStateChange(XnModuleUnregisterStateChangeFuncPtr funcPtr, XnModuleNodeHandle hModuleNode, XnCallbackHandle hCallback)
3018{

Calls 2

xnOSFreeFunction · 0.50
SetMethod · 0.45

Tested by

no test coverage detected