sdevent.h

00001 /* This file is part of the KDE project
00002  *
00003  * Copyright (C) 2004 Jakub Stachowski <qbast@go2.pl>
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Library General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Library General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Library General Public License
00016  * along with this library; see the file COPYING.LIB.  If not, write to
00017  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  * Boston, MA 02110-1301, USA.
00019  */
00020 
00021 #ifndef DNSSDSDEVENT_H
00022 #define DNSSDSDEVENT_H
00023 
00024 #include <qevent.h>
00025 #include <qstring.h>
00026 #include <qmap.h>
00027 
00028 namespace DNSSD
00029 {
00030 
00031 enum Operation { SD_ERROR = 101,SD_ADDREMOVE, SD_PUBLISH, SD_RESOLVE};
00032 
00033 class ErrorEvent : public QCustomEvent
00034 {
00035 public:
00036     ErrorEvent() : QCustomEvent(QEvent::User+SD_ERROR) 
00037     {}
00038 };
00039 class AddRemoveEvent : public QCustomEvent
00040 {
00041 public:
00042     enum Operation { Add, Remove };
00043     AddRemoveEvent(Operation op,const QString& name,const QString& type,
00044         const QString& domain, bool last) : QCustomEvent(QEvent::User+SD_ADDREMOVE),
00045     m_op(op), m_name(name), m_type(type), m_domain(domain), m_last(last) 
00046     {}
00047 
00048     const Operation m_op;
00049     const QString m_name;
00050     const QString m_type;
00051     const QString m_domain;
00052     const bool m_last;
00053 };
00054 
00055 class PublishEvent : public QCustomEvent
00056 {
00057 public:
00058     PublishEvent(const QString& name) : QCustomEvent(QEvent::User+SD_PUBLISH), m_name(name)
00059     {}
00060 
00061     const QString m_name;
00062 };
00063 
00064 class ResolveEvent : public QCustomEvent
00065 {
00066 public:
00067     ResolveEvent(const QString& hostname, unsigned short port,
00068              const QMap<QString,QString>& txtdata) 
00069         : QCustomEvent(QEvent::User+SD_RESOLVE), m_hostname(hostname),
00070           m_port(port), m_txtdata(txtdata)
00071     {}
00072 
00073     const QString m_hostname;
00074     const unsigned short m_port;
00075     const QMap<QString,QString> m_txtdata;
00076 };
00077 
00078 
00079 }
00080 
00081 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys