00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef PRIVACYLISTHANDLER_H__
00015 #define PRIVACYLISTHANDLER_H__
00016
00017 #include "privacyitem.h"
00018
00019 #include <string>
00020 #include <list>
00021
00022 namespace gloox
00023 {
00024
00028 enum PrivacyListResult
00029 {
00030 ResultStoreSuccess,
00031 ResultActivateSuccess,
00032 ResultDefaultSuccess,
00033 ResultRemoveSuccess,
00034 ResultRequestNamesSuccess,
00035 ResultRequestListSuccess,
00036 ResultConflict,
00038 ResultItemNotFound,
00039 ResultBadRequest,
00040 ResultUnknownError
00041 };
00042
00049 class GLOOX_API PrivacyListHandler
00050 {
00051 public:
00052
00056 typedef std::list<PrivacyItem> PrivacyList;
00057
00061 virtual ~PrivacyListHandler() {}
00062
00070 virtual void handlePrivacyListNames( const std::string& active, const std::string& def,
00071 const StringList& lists ) = 0;
00072
00079 virtual void handlePrivacyList( const std::string& name, PrivacyList& items ) = 0;
00080
00085 virtual void handlePrivacyListChanged( const std::string& name ) = 0;
00086
00092 virtual void handlePrivacyListResult( const std::string& id, PrivacyListResult plResult ) = 0;
00093
00094 };
00095
00096 }
00097
00098 #endif // PRIVACYLISTHANDLER_H__