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
00038 class GLOOX_EXPORT Annotations : public PrivateXML, PrivateXMLHandler
00039 {
00040 public:
00045 Annotations( ClientBase *parent );
00046
00050 virtual ~Annotations();
00051
00057 void storeAnnotations( const AnnotationsHandler::AnnotationsList& aList );
00058
00063 void requestAnnotations();
00064
00069 void registerAnnotationsHandler( AnnotationsHandler *ah );
00070
00074 void removeAnnotationsHandler();
00075
00076
00077 virtual void handlePrivateXML( const std::string& tag, Tag *xml );
00078
00079
00080 virtual void handlePrivateXMLResult( const std::string , PrivateXMLResult ) {};
00081
00082 private:
00083 AnnotationsHandler *m_annotationsHandler;
00084 };
00085
00086 }
00087
00088 #endif // ANNOTATIONS_H__