17 #include "iqhandler.h"
23 class SIProfileHandler;
55 SI(
const Tag* tag = 0 );
75 const std::string& profile()
const {
return m_profile; };
81 const std::string& mimetype()
const {
return m_mimetype; };
87 const std::string& id()
const {
return m_id; };
94 const Tag* tag1()
const {
return m_tag1; };
101 const Tag* tag2()
const {
return m_tag2; };
104 virtual const std::string& filterString()
const;
107 virtual StanzaExtension* newInstance(
const Tag* tag )
const
109 return new SI( tag );
113 virtual Tag* tag()
const;
116 virtual StanzaExtension* clone()
const
119 s->m_tag1 = m_tag1 ? m_tag1->clone() : 0;
120 s->m_tag2 = m_tag2 ? m_tag2->clone() : 0;
122 s->m_mimetype = m_mimetype;
123 s->m_profile = m_profile;
131 std::string m_mimetype;
132 std::string m_profile;
140 SIManager( ClientBase* parent,
bool advertise =
true );
145 virtual ~SIManager();
164 const std::string requestSI( SIHandler* sih,
const JID& to,
const std::string& profile, Tag* child1,
165 Tag* child2 = 0,
const std::string& mimetype =
"binary/octet-stream",
166 const JID& from = JID(),
const std::string& sid =
EmptyString );
181 void acceptSI(
const JID& to,
const std::string&
id, Tag* child1, Tag* child2 = 0,
const JID& from = JID() );
191 void declineSI(
const JID& to,
const std::string&
id, SIError reason,
202 void registerProfile(
const std::string& profile, SIProfileHandler* sih );
208 void removeProfile(
const std::string& profile );
211 virtual bool handleIq(
const IQ& iq );
214 virtual void handleIqID(
const IQ& iq,
int context );
217 #ifdef SIMANAGER_TEST
231 typedef std::map<std::string, TrackStruct> TrackMap;
234 ClientBase* m_parent;
236 typedef std::map<std::string, SIProfileHandler*> HandlerMap;
237 HandlerMap m_handlers;
245 #endif // SIMANAGER_H__