Logo Search packages:      
Sourcecode: kmess version File versions

msnappdirectoryconnection.h

/***************************************************************************
                          msnappdirectoryconnection.h -  description
                             -------------------
    begin                : Sun Sep 25 2005
    copyright            : (C) 2005 by Diederik van der Boor
    email                : vdboor --at-- codingdomain.com
 ***************************************************************************/

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

#ifndef MSNAPPDIRECTORYCONNECTION_H
#define MSNAPPDIRECTORYCONNECTION_H

#include <qobject.h>
#include <qptrlist.h>

class HttpSoapConnection;
class QDomElement;

/**
 * Wrapper for SOAP calls to the MSN application directory service.
 *
 * @author Diederik van der Boor
 * @ingroup NetworkExtra
 */
00033 class MsnAppDirectoryConnection : public QObject
{
  Q_OBJECT

  public:
    // Types of service listings to request
    enum MsnAppDirectoryConnectionType { GAMES, ACTIVITIES };

    struct Entry
    {
      int     entryId;
      QString subscriptionUrl;
      QString error;
      QString locale;
      bool    kids;
      int     page;
      int     categoryId;
      QString sequence;
      QString name;
      QString description;
      QString url;
      QString iconUrl;
      QString appIconUrl;
      int     passportSiteId;
      QString type;
      int     height;
      int     width;
      QString location;
      int     minUsers;
      int     maxUsers;
      bool    enableIp;
      bool    activeX;
      bool    sendFile;
      bool    receiveIM;
      bool    replaceIM;
      bool    windows;
      int     maxPacketRate;
      bool    userProperties;
      QString clientVersion;
      int     appType;
      bool    hidden;
    };

  public:  // public methods
    // The constructor
                         MsnAppDirectoryConnection();
    // The destructor
    virtual             ~MsnAppDirectoryConnection();

    // Return an application entry with a certain ID
    const Entry *        getEntryById(int entryId);
    // Return all entries
    const QPtrList<Entry>& getEntries() const;
    // Request a list of all services
    void                 queryServiceList(MsnAppDirectoryConnectionType type);


  public slots:
    // A soap request finished
    void                 slotRequestFinished( HttpSoapConnection *client, QDomElement &resultRoot );
    // A soap request failed
    void                 slotRequestFailed( HttpSoapConnection *client, const QString &faultCode, const QString &faultString );


  private:
    // The instance of the singleton class
    static MsnAppDirectoryConnection *instance_;
    // The connection handler
    HttpSoapConnection  *soapHttp_;
    // A list of all received entries
    QPtrList<Entry>      entries_;

  signals:
    // The request finished
    void                 requestFinished();
    // The request failed
    void                 requestFailed();
};

#endif

Generated by  Doxygen 1.6.0   Back to index