//
//     Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace DNSSD
{

class ServiceBrowser : QObject
{
%TypeHeaderCode
#include <dnssd/servicebrowser.h>
%End


public:

    enum State
    {
        Working,
        Stopped,
        Unsupported
    };

    explicit                ServiceBrowser (const QString& type, bool autoResolve = 0, const QString& domain = QString(), const QString& subtype = QString());
    
    QList<DNSSD::RemoteService::Ptr> services () const;

    virtual void            startBrowse ();
    static DNSSD::ServiceBrowser::State  isAvailable ();
    bool                    isAutoResolving () const;
    static QHostAddress     resolveHostName (const QString& hostname);
    static QString          getLocalHostName ();

signals:
    void                    serviceAdded (DNSSD::RemoteService::Ptr service);
    void                    serviceRemoved (DNSSD::RemoteService::Ptr service);
    void                    finished ();
};   // ServiceBrowser

};   // DNSSD


