File indexing completed on 2024-04-28 15:29:20

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 1999 Simon Hausmann <hausmann@kde.org>
0004     SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "event.h"
0010 #include "event_p.h"
0011 
0012 using namespace KParts;
0013 
0014 // the answer!
0015 #define KPARTS_EVENT_MAGIC 42
0016 
0017 Event::Event(const char *eventName)
0018     : Event(*new EventPrivate(eventName))
0019 {
0020 }
0021 
0022 Event::Event(EventPrivate &dd)
0023     : QEvent((QEvent::Type)(QEvent::User + KPARTS_EVENT_MAGIC))
0024     , d(&dd)
0025 {
0026 }
0027 
0028 Event::~Event() = default;
0029 
0030 const char *Event::eventName() const
0031 {
0032     Q_D(const Event);
0033 
0034     return d->m_eventName;
0035 }
0036 
0037 bool Event::test(const QEvent *event)
0038 {
0039     if (!event) {
0040         return false;
0041     }
0042 
0043     return (event->type() == (QEvent::Type)(QEvent::User + KPARTS_EVENT_MAGIC));
0044 }
0045 
0046 bool Event::test(const QEvent *event, const char *name)
0047 {
0048     if (!test(event)) {
0049         return false;
0050     }
0051 
0052     return (strcmp(name, ((Event *)event)->eventName()) == 0);
0053 }