Lines Matching refs:pProvider

55     VBOXHOSTCHPROVIDER *pProvider; /* NULL if the provider was unregistered. */
91 static void vhcProviderDestroy(VBOXHOSTCHPROVIDER *pProvider)
93 RTStrFree(pProvider->pszName);
96 static int32_t vhcProviderAddRef(VBOXHOSTCHPROVIDER *pProvider)
98 return ASMAtomicIncS32(&pProvider->cRefs);
101 static void vhcProviderRelease(VBOXHOSTCHPROVIDER *pProvider)
103 int32_t c = ASMAtomicDecS32(&pProvider->cRefs);
107 vhcProviderDestroy(pProvider);
108 RTMemFree(pProvider);
114 VBOXHOSTCHPROVIDER *pProvider = NULL;
125 pProvider = pIter;
127 vhcProviderAddRef(pProvider);
136 return pProvider;
139 static int vhcProviderRegister(VBOXHOSTCHCTX *pCtx, VBOXHOSTCHPROVIDER *pProvider)
147 RTListAppend(&pCtx->listProviders, &pProvider->nodeContext);
154 vhcProviderRelease(pProvider);
160 static int vhcProviderUnregister(VBOXHOSTCHPROVIDER *pProvider)
169 RTListNodeRemove(&pProvider->nodeContext);
173 vhcProviderRelease(pProvider);
359 if (pInstance->pProvider)
361 pInstance->pProvider->iface.HostChannelDetach(pInstance->pvChannel);
363 vhcProviderRelease(pInstance->pProvider);
364 pInstance->pProvider = NULL;
553 VBOXHOSTCHPROVIDER *pProvider = vhcProviderFind(pClient->pCtx, pszName);
555 if (pProvider)
569 rc = pProvider->iface.HostChannelAttach(pProvider->iface.pvProvider,
576 vhcProviderAddRef(pProvider);
577 pInstance->pProvider = pProvider;
585 RTListAppend(&pProvider->listChannels, &pInstance->nodeProvider);
606 vhcProviderRelease(pProvider);
652 if (pInstance->pProvider)
654 pInstance->pProvider->iface.HostChannelSend(pInstance->pvChannel, pvData, cbData);
682 if (pInstance->pProvider)
684 rc = pInstance->pProvider->iface.HostChannelRecv(pInstance->pvChannel, pvData, cbData,
718 if (pInstance->pProvider)
720 pInstance->pProvider->iface.HostChannelControl(pInstance->pvChannel, u32Code,
947 VBOXHOSTCHPROVIDER *pProvider = vhcProviderFind(pClient->pCtx, pszName);
949 if (pProvider)
951 pProvider->iface.HostChannelControl(NULL, u32Code,
955 vhcProviderRelease(pProvider);
973 VBOXHOSTCHPROVIDER *pProvider = (VBOXHOSTCHPROVIDER *)RTMemAllocZ(sizeof(VBOXHOSTCHPROVIDER));
975 if (pProvider)
977 pProvider->pCtx = pCtx;
978 pProvider->iface = *pInterface;
980 RTListInit(&pProvider->listChannels);
982 pProvider->pszName = RTStrDup(pszName);
983 if (pProvider->pszName)
985 vhcProviderAddRef(pProvider);
986 rc = vhcProviderRegister(pCtx, pProvider);
990 RTMemFree(pProvider);
1008 VBOXHOSTCHPROVIDER *pProvider = vhcProviderFind(pCtx, pszName);
1010 if (pProvider)
1012 rc = vhcProviderUnregister(pProvider);
1013 vhcProviderRelease(pProvider);