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, PrivateXMLHandler
00095 {
00096 public:
00101 Annotations( ClientBase *parent );
00102
00106 virtual ~Annotations();
00107
00113 void storeAnnotations( const AnnotationsHandler::AnnotationsList& aList );
00114
00119 void requestAnnotations();
00120
00125 void registerAnnotationsHandler( AnnotationsHandler *ah );
00126
00130 void removeAnnotationsHandler();
00131
00132
00133 virtual void handlePrivateXML( const std::string& tag, Tag *xml );
00134
00135
00136 virtual void handlePrivateXMLResult( const std::string& uid, PrivateXMLResult result );
00137
00138 private:
00139 AnnotationsHandler *m_annotationsHandler;
00140 };
00141
00142 }
00143
00144 #endif // ANNOTATIONS_H__