1635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/** 2635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version. 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful, 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB. If not, write to 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h" 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 23635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#if ENABLE(WML) 24635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#include "WMLIntrinsicEventHandler.h" 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 28635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source ProjectWMLIntrinsicEventHandler::WMLIntrinsicEventHandler() 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 32635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectbool WMLIntrinsicEventHandler::registerIntrinsicEvent(WMLIntrinsicEventType type, PassRefPtr<WMLIntrinsicEvent> event) 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 34635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project if (m_events.contains(type)) 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return false; 36635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 37635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project m_events.set(type, event); 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return true; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid WMLIntrinsicEventHandler::deregisterIntrinsicEvent(WMLIntrinsicEventType type) 420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch if (m_events.contains(type)) 440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch m_events.remove(type); 450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 47635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid WMLIntrinsicEventHandler::triggerIntrinsicEvent(WMLIntrinsicEventType type) const 48635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{ 49635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project RefPtr<WMLIntrinsicEvent> event = m_events.get(type); 50635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project ASSERT(event->taskElement()); 51231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block event->taskElement()->executeTask(); 52635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project} 53635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 54635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectbool WMLIntrinsicEventHandler::hasIntrinsicEvent(WMLIntrinsicEventType type) const 55635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{ 56635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project return m_events.contains(type); 57635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project} 58635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 59635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project} 60635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 61635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#endif 62