privacylisthandler.h

00001 /*
00002   Copyright (c) 2005-2006 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 
00031   class GLOOX_API PrivacyListHandler
00032   {
00033     public:
00034 
00038       enum resultEnum
00039       {
00040         RESULT_STORE_SUCCESS,         
00041         RESULT_ACTIVATE_SUCCESS,      
00042         RESULT_DEFAULT_SUCCESS,       
00043         RESULT_REMOVE_SUCCESS,        
00044         RESULT_REQUEST_NAMES_SUCCESS, 
00045         RESULT_REQUEST_LIST_SUCCESS,  
00046         RESULT_CONFLICT,              
00048         RESULT_ITEM_NOT_FOUND,        
00049         RESULT_BAD_REQUEST            
00050       };
00051 
00055       typedef std::list<PrivacyItem> PrivacyList;
00056 
00060       virtual ~PrivacyListHandler() {};
00061 
00069       virtual void handlePrivacyListNames( const std::string& active, const std::string& def,
00070                                            const StringList& lists ) = 0;
00071 
00078       virtual void handlePrivacyList( const std::string& name, PrivacyList& items ) = 0;
00079 
00084       virtual void handlePrivacyListChanged( const std::string& name ) = 0;
00085 
00091       virtual void handlePrivacyListResult( const std::string& id, resultEnum result ) = 0;
00092 
00093   };
00094 
00095 }
00096 
00097 #endif // PRIVACYLISTHANDLER_H__

Generated on Tue May 1 14:20:20 2007 for gloox by  doxygen 1.5.1