#ifndef CAPABILITYPEER_H #define CAPABILITYPEER_H #include #include #include #include "sapserviceinfo.h" class SAPPeer; class SAPConnection; class SAPConnectionRequest; class SAPSocket; class CapabilityPeer : public QObject { Q_OBJECT public: CapabilityPeer(SAPPeer *peer, QObject *parent = 0); void requestConnection(SAPConnectionRequest *request); int remoteAgentId(const QString &profile, SAPServiceInfo::Role role); SAPServiceInfo remoteServiceInfo(int agentId) const; private: QHash* profilesByRole(SAPServiceInfo::Role role); private slots: void handleConnected(); void handleMessageReceived(); private: SAPPeer *_peer; SAPConnection *_conn; SAPSocket *_socket; struct RemoteAgent { int agentId; SAPServiceInfo info; }; QMap _remoteAgents; QHash _consumerProfiles; QHash _providerProfiles; }; #endif // CAPABILITYPEER_H