18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2001 Peter Kelly (pmk@post.com)
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
50bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version.
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful,
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details.
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA.
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef RegisteredEventListener_h
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define RegisteredEventListener_h
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
275f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#include "EventListener.h"
28e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke#include <wtf/RefPtr.h>
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
32231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    class RegisteredEventListener {
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    public:
34231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        RegisteredEventListener(PassRefPtr<EventListener> listener, bool useCapture)
35231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            : listener(listener)
36231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            , useCapture(useCapture)
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        {
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        }
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
40231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        RefPtr<EventListener> listener;
41231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        bool useCapture;
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    };
43231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
44231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    inline bool operator==(const RegisteredEventListener& a, const RegisteredEventListener& b)
455f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian    {
46231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return *a.listener == *b.listener && a.useCapture == b.useCapture;
475f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian    }
485f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // RegisteredEventListener_h
52