Lines Matching refs:handler

83 	fLock("type handler roster")
90 for (int32 i = 0; TypeHandler* handler = fTypeHandlers.ItemAt(i); i++)
91 handler->ReleaseReference();
144 TypeHandler* handler;
149 handler = new(std::nothrow) \
151 handlerReference.SetTo(handler, true); \
152 if (handler == NULL || !RegisterHandler(handler)) \
164 handler = new(std::nothrow) \
166 handlerReference.SetTo(handler, true); \
167 if (handler == NULL || !RegisterHandler(handler)) \
184 for (int32 i = 0; TypeHandler* handler = fTypeHandlers.ItemAt(i); i++) {
185 if (handler->SupportsType(type) > 0)
197 // find the best-supporting handler
203 for (int32 i = 0; TypeHandler* handler = fTypeHandlers.ItemAt(i); i++) {
204 float support = handler->SupportsType(type);
206 bestHandler = handler;
224 // find the best-supporting handler
232 for (int32 i = 0; TypeHandler* handler = fTypeHandlers.ItemAt(i); i++) {
233 if (handler->SupportsType(type) > 0) {
234 if (!handlers->AddItem(handler))
242 for (int32 i = 0; TypeHandler* handler = handlers->ItemAt(i); i++)
243 handler->AcquireReference();
256 TypeHandler* handler, ValueNode*& _node)
260 // if the caller doesn't supply us with a handler to use, try to find
262 if (handler == NULL) {
263 // find the best-supporting handler
265 status_t error = FindBestTypeHandler(nodeChild, type, handler);
267 handlerReference.SetTo(handler, true);
280 return handler->CreateValueNode(nodeChild, type, _node);
285 TypeHandlerRoster::RegisterHandler(TypeHandler* handler)
287 if (!fTypeHandlers.AddItem(handler))
290 handler->AcquireReference();
296 TypeHandlerRoster::UnregisterHandler(TypeHandler* handler)
298 if (fTypeHandlers.RemoveItem(handler))
299 handler->ReleaseReference();