privacylisthandler.h

00001 /*
00002   Copyright (c) 2005-2008 by Jakob Schroeter <js@camaya.net>
00003   This file is part of the gloox library. http://camaya.net/gloox
00004 
00005   This software is distributed under a license. The full license
00006   agreement can be found in the file LICENSE in this distribution.
00007   This software may not be copied, modified, sold or distributed
00008   other than expressed in the named license agreement.
00009 
00010   This software is distributed without any warranty.
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__

Generated on Mon Dec 7 13:28:19 2009 for gloox by  doxygen 1.6.1