stanzaextensionfactory.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef STANZAEXTENSIONFACTORY_H__
00015 #define STANZAEXTENSIONFACTORY_H__
00016
00017 #include <list>
00018
00019 namespace gloox
00020 {
00021
00022 class Tag;
00023 class Stanza;
00024 class StanzaExtension;
00025
00039 class StanzaExtensionFactory
00040 {
00041
00042 friend class ClientBase;
00043
00044 public:
00056 void registerExtension( StanzaExtension* ext );
00057
00063 bool removeExtension( int ext );
00064
00068 StanzaExtensionFactory();
00069
00073 ~StanzaExtensionFactory();
00074
00080 void addExtensions( Stanza& stanza, Tag* tag );
00081
00082 private:
00083 typedef std::list<StanzaExtension*> SEList;
00084 SEList m_extensions;
00085
00086 };
00087
00088 }
00089
00090 #endif // STANZAEXTENSIONFACTORY_H__