#ifndef XMLRPCREPLY_H #define XMLRPCREPLY_H #include "xmlrpcpendingcall.h" template class XmlRpcReply { public: XmlRpcReply(XmlRpcPendingCall *call); bool isValid() const; operator T () const; private: bool _valid; T _value; }; template XmlRpcReply::XmlRpcReply(XmlRpcPendingCall *call) : _valid(false) { call->waitForFinished(); if (call->isValid()) { QVariant v = call->value(); if (v.canConvert()) { _value = v.value(); _valid = true; } } } template inline bool XmlRpcReply::isValid() const { return _valid; } template inline XmlRpcReply::operator T () const { return _value; } #endif // XMLRPCREPLY_H