annotations.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ANNOTATIONS_H__
00016 #define ANNOTATIONS_H__
00017
00018 #include "macros.h"
00019
00020 #include "annotationshandler.h"
00021 #include "privatexml.h"
00022 #include "privatexmlhandler.h"
00023
00024 #include <string>
00025 #include <list>
00026
00027 namespace gloox
00028 {
00029
00030 class Tag;
00031
00094 class GLOOX_API Annotations : public PrivateXML, public PrivateXMLHandler
00095 {
00096 public:
00101 Annotations( ClientBase* parent );
00102
00106 virtual ~Annotations();
00107
00113 void storeAnnotations( const AnnotationsList& aList );
00114
00119 void requestAnnotations();
00120
00125 void registerAnnotationsHandler( AnnotationsHandler* ah )
00126 { m_annotationsHandler = ah; }
00127
00131 void removeAnnotationsHandler()
00132 { m_annotationsHandler = 0; }
00133
00134
00135 virtual void handlePrivateXML( const Tag* xml );
00136
00137
00138 virtual void handlePrivateXMLResult( const std::string& uid, PrivateXMLResult pxResult );
00139
00140 private:
00141 AnnotationsHandler* m_annotationsHandler;
00142
00143 };
00144
00145 }
00146
00147 #endif // ANNOTATIONS_H__