AnyConnect Secure Mobility Client 4.8.02045

include/PreferenceUpdate.h

00001 /**************************************************************************
00002 *       Copyright © 2009, Cisco Systems, All Rights Reserved
00003 ***************************************************************************
00004 *
00005 *  File:    PreferenceUpdate.h
00006 *  Author:  Ivonne Olavarrieta Arruti
00007 *  Date:    06/2009
00008 *
00009 ***************************************************************************
00010 *
00011 *   Preference Update Interface declaration for the Client API. 
00012 *
00013 ***************************************************************************/
00014 
00015 #ifndef _PREFERENCEUPDATE_
00016 #define _PREFERENCEUPDATE_
00017 
00018 #include "api.h"
00019 
00020 class VPN_VPNAPI IPreferenceUpdateCB
00021 {    
00022 public:
00023     /*
00024     ** IPreferenceUpdateCB::OnLoadPreferencesComplete
00025     **   Callback method invoked when the loadPreferences operation has completed
00026     **   and preferences have been reloaded.
00027     **
00028     **   NOTE: Implementations of this callback must be thread safe.
00029     */
00030     virtual void OnLoadPreferencesComplete() = 0;
00031 
00032     /*
00033     ** bool IPreferenceUpdateCB::IsPreferenceOverridable
00034     **   Callback method invoked during preference loading to verify if the specified preference 
00035     **   pertaining is overridable by consumer.
00036     **
00037     **   IN const PreferenceId ePreferenceId
00038     **
00039     **   NOTE: Implementations of this callback must be thread safe.
00040     */
00041     virtual bool IsPreferenceOverridable(const PreferenceId ePreferenceId) = 0;
00042 
00043     /*
00044     ** void IPreferenceUpdateCB::OverridePreferenceValue
00045     **   Callback method invoked during preference loading to override the specified value,
00046     **   if necessary.
00047     **   rbOverriden must be set to true if the preference value was overriden by consumer.
00048     **
00049     **   IN const PreferenceId ePreferenceId
00050     **   INOUT tstring rPrefenceValue
00051     **   OUT bool& rbOverriden
00052     **
00053     **   NOTE: Implementations of this callback must be thread safe.
00054     */
00055     virtual void OverridePreferenceValue(const PreferenceId ePreferenceId,
00056                                          tstring& rPrefenceValue,
00057                                          bool& rbOverriden) = 0;
00058 
00059 protected:
00060     // Deletions should not be done via a callback Interface base class pointer.
00061     // By declaring the destructor as protected, we prevent this.
00062     //
00063     virtual ~IPreferenceUpdateCB() {}
00064 };
00065 
00066 
00067 
00068 #endif // _PREFERENCEUPDATE_
00069