Lines Matching refs:context
39 struct ChppAppState *context, const struct ChppServiceDescriptor *service);
40 static void chppDiscoveryProcessDiscoverAll(struct ChppAppState *context,
43 struct ChppAppState *context, uint8_t index);
78 struct ChppAppState *context, const struct ChppServiceDescriptor *service) { in chppFindMatchingClient() argument
81 for (uint8_t i = 0; i < context->registeredClientCount; i++) { in chppFindMatchingClient()
83 &context->registeredClients[i]->descriptor, service)) { in chppFindMatchingClient()
100 static void chppDiscoveryProcessDiscoverAll(struct ChppAppState *context, in chppDiscoveryProcessDiscoverAll() argument
102 if (context->isDiscoveryComplete) { in chppDiscoveryProcessDiscoverAll()
133 context->clientIndexOfServiceIndex[i] = in chppDiscoveryProcessDiscoverAll()
134 chppFindMatchingClient(context, &response->services[i]); in chppDiscoveryProcessDiscoverAll()
139 if (context->clientIndexOfServiceIndex[i] == CHPP_CLIENT_INDEX_NONE) { in chppDiscoveryProcessDiscoverAll()
155 context->clientIndexOfServiceIndex[i], in chppDiscoveryProcessDiscoverAll()
157 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
159 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
161 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
168 uint8_t idx = context->clientIndexOfServiceIndex[i]; in chppDiscoveryProcessDiscoverAll()
169 if (context->registeredClients[idx]->initFunctionPtr( in chppDiscoveryProcessDiscoverAll()
170 context->registeredClientContexts[idx], in chppDiscoveryProcessDiscoverAll()
176 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
178 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
180 context->registeredClients[context->clientIndexOfServiceIndex[i]] in chppDiscoveryProcessDiscoverAll()
193 matchedClients, context->registeredClientCount, serviceCount); in chppDiscoveryProcessDiscoverAll()
196 chppMutexLock(&context->discoveryMutex); in chppDiscoveryProcessDiscoverAll()
197 context->isDiscoveryComplete = true; in chppDiscoveryProcessDiscoverAll()
198 context->matchedClientCount = matchedClients; in chppDiscoveryProcessDiscoverAll()
199 context->discoveredServiceCount = serviceCount; in chppDiscoveryProcessDiscoverAll()
200 chppConditionVariableSignal(&context->discoveryCv); in chppDiscoveryProcessDiscoverAll()
201 chppMutexUnlock(&context->discoveryMutex); in chppDiscoveryProcessDiscoverAll()
204 for (uint8_t i = 0; i < context->discoveredServiceCount; i++) { in chppDiscoveryProcessDiscoverAll()
205 uint8_t clientIndex = context->clientIndexOfServiceIndex[i]; in chppDiscoveryProcessDiscoverAll()
209 chppGetClientMatchNotifierFunction(context, clientIndex); in chppDiscoveryProcessDiscoverAll()
216 MatchNotifierFunction(context->registeredClientContexts[clientIndex]); in chppDiscoveryProcessDiscoverAll()
233 struct ChppAppState *context, uint8_t index) { in chppGetClientMatchNotifierFunction() argument
234 return context->registeredClients[index]->matchNotifierFunctionPtr; in chppGetClientMatchNotifierFunction()
241 void chppDiscoveryInit(struct ChppAppState *context) { in chppDiscoveryInit() argument
242 CHPP_ASSERT_LOG(!context->isDiscoveryClientInitialized, in chppDiscoveryInit()
247 if (!context->isDiscoveryClientInitialized) { in chppDiscoveryInit()
248 chppMutexInit(&context->discoveryMutex); in chppDiscoveryInit()
249 chppConditionVariableInit(&context->discoveryCv); in chppDiscoveryInit()
250 context->isDiscoveryClientInitialized = true; in chppDiscoveryInit()
253 context->matchedClientCount = 0; in chppDiscoveryInit()
254 context->isDiscoveryComplete = false; in chppDiscoveryInit()
255 context->isDiscoveryClientInitialized = true; in chppDiscoveryInit()
258 void chppDiscoveryDeinit(struct ChppAppState *context) { in chppDiscoveryDeinit() argument
259 CHPP_ASSERT_LOG(context->isDiscoveryClientInitialized, in chppDiscoveryDeinit()
263 context->isDiscoveryClientInitialized = false; in chppDiscoveryDeinit()
266 bool chppWaitForDiscoveryComplete(struct ChppAppState *context, in chppWaitForDiscoveryComplete() argument
270 if (!context->isDiscoveryClientInitialized) { in chppWaitForDiscoveryComplete()
275 chppMutexLock(&context->discoveryMutex); in chppWaitForDiscoveryComplete()
277 success = context->isDiscoveryComplete; in chppWaitForDiscoveryComplete()
279 while (success && !context->isDiscoveryComplete) { in chppWaitForDiscoveryComplete()
281 &context->discoveryCv, &context->discoveryMutex, in chppWaitForDiscoveryComplete()
285 chppMutexUnlock(&context->discoveryMutex); in chppWaitForDiscoveryComplete()
294 bool chppDispatchDiscoveryServiceResponse(struct ChppAppState *context, in chppDispatchDiscoveryServiceResponse() argument
301 chppDiscoveryProcessDiscoverAll(context, buf, len); in chppDispatchDiscoveryServiceResponse()
312 void chppInitiateDiscovery(struct ChppAppState *context) { in chppInitiateDiscovery() argument
313 if (context->isDiscoveryComplete) { in chppInitiateDiscovery()
319 context->clientIndexOfServiceIndex[i] = CHPP_CLIENT_INDEX_NONE; in chppInitiateDiscovery()
329 chppEnqueueTxDatagramOrFail(context->transportContext, request, in chppInitiateDiscovery()
333 bool chppAreAllClientsMatched(struct ChppAppState *context) { in chppAreAllClientsMatched() argument
335 chppMutexLock(&context->discoveryMutex); in chppAreAllClientsMatched()
336 success = (context->isDiscoveryComplete) && in chppAreAllClientsMatched()
337 (context->registeredClientCount == context->matchedClientCount); in chppAreAllClientsMatched()
338 chppMutexUnlock(&context->discoveryMutex); in chppAreAllClientsMatched()