AnyConnect Secure Mobility Client 4.4.00243

include/PreferenceInfo.h

00001 /**************************************************************************
00002 *       Copyright © 2008, Cisco Systems, All Rights Reserved
00003 ***************************************************************************
00004 *
00005 *  File:    PreferenceInfo.h
00006 *  Date:    07/2008
00007 *
00008 ***************************************************************************
00009 *
00010 *   Preference Info class declaration for the Client API.
00011 *
00012 ***************************************************************************/
00013 
00014 #ifndef _PREFERENCEINFO_
00015 #define _PREFERENCEINFO_
00016 
00017 
00018 /**
00019 * Class representing a collection of preferences that are grouped together.
00020 * Provides the ability to retrieve an ordered list of preferences, as well as
00021 * as a generic heading that describes this grouping of preferences.
00022 */
00023 
00024 #include "PreferenceInfoBase.h"
00025 
00026 
00027 class VPN_VPNAPI PreferenceInfo : public PreferenceInfoBase
00028 {
00029 
00030     public:
00031 
00032         /**
00033          * This method returns the count of any available Preference objects
00034          * (both parent and child).
00035          */
00036         unsigned int countPreferences() const;
00037 
00038 
00039         /**
00040         * If there exists a Preference with the passed ::PreferenceId, returns
00041         * a pointer to that Preference object in the passed rpPreference pointer.
00042         * Returns false if no such preference could be found.
00043         */
00044         bool getPreference(const PreferenceId& preferenceId, 
00045                            OUT Preference*& rpPreference) const;
00046 
00047 
00048         /**
00049         * Returns a vector of preferences.  The order is significant, and 
00050         * represents the visual order with which prompts should be displayed.
00051         * To access the child preferences of the returned preferences use 
00052         * Preference::getChildren()
00053         */
00054         const std::vector<Preference*>& getListPreferences() const;
00055 
00056         
00057         /**
00058         * Returns a string that describes the contents of this PreferenceInfo.
00059         * User Interfaces should display this string at the top of the dialog
00060         * or screen used to display preference controls/widgets.
00061         */    
00062         const tstring getPreferenceHeading() const;
00063 
00064 
00065         PreferenceInfo();
00066 };
00067 
00068 #endif // _PREFERENCEINFO_