// File autogenerated

#if !defined(OBJECTMANAGERINTERFACE_H_INCLUDED)
#define OBJECTMANAGERINTERFACE_H_INCLUDED

// TQt D-Bus includes
#include <tqdbuserror.h>
#include <tqdbusobject.h>

// forward declarations
class TQDomElement;
class TQString;
class TQStringList;
class TQT_DBusError;
class TQT_DBusObjectPath;
template <typename K> class TQT_DBusDataMap;

namespace org
{
namespace freedesktop
{
namespace DBus
{

class ObjectManagerInterface : public TQT_DBusObjectBase
{
public:
    virtual ~ObjectManagerInterface() {}

    static void buildIntrospectionData(TQDomElement& interfaceElement);

    static const TQCString interface() { return TQCString("org.freedesktop.DBus.ObjectManager"); }

protected: // implement sending signals
    virtual bool handleSignalSend(const TQT_DBusMessage& reply) = 0;
    virtual TQString objectPath() const = 0;

protected: // for sending D-Bus signals
    virtual bool emitInterfacesAdded(const TQT_DBusObjectPath& object, const TQT_DBusDataMap< TQString >& interfaces);

    virtual bool emitInterfacesRemoved(const TQT_DBusObjectPath& object, const TQStringList& interfaces);


protected:
    virtual bool GetManagedObjects(TQT_DBusDataMap< TQT_DBusObjectPath >& objects, TQT_DBusError& error) = 0;

protected: // implement sending replies
    virtual void handleMethodReply(const TQT_DBusMessage& reply) = 0;

protected: // usually no need to reimplement
    virtual bool handleMethodCall(const TQT_DBusMessage& message);

    TQT_DBusMessage callGetManagedObjects(const TQT_DBusMessage& message);

}; // class ObjectManagerInterface

}; // namespace DBus

}; // namespace freedesktop

}; // namespace org

#endif //OBJECTMANAGERINTERFACE_H_INCLUDED

// End of File

