13 #ifndef _PROMPTENTRYBASE_ 14 #define _PROMPTENTRYBASE_ 19 #include <unordered_set> 22 #define PROMPT_ENTRY_VALUE_TRUE _T("true") 23 #define PROMPT_ENTRY_VALUE_FALSE _T("false") 29 bool setValue(
const tstring& value);
32 const tstring &getPromptName()
const;
34 const tstring &getPromptLabel()
const;
36 bool isEnabled()
const;
38 void setEnabled(
bool bIsEnabled);
40 bool isVisible()
const;
42 void setVisible(
bool bIsVisible);
48 void setEntryGroup(
bool bIsEntryGroup);
54 const tstring& DefaultValue = EmptyString,
55 ApiStringMap LabelValues = EmptyLabelValues);
58 void setPromptLabel(
tstring label);
62 const tstring &getValue()
const;
65 const tstring &getTrueValue()
const;
67 const std::list<tstring> &getValueOptions()
const;
69 bool isEntryGroup()
const;
71 bool isReadOnly()
const;
75 size_t GetGroupAttributesCount();
80 static const tstring EmptyString;
82 static const std::list<tstring> EmptyList;
84 static const ApiStringMap EmptyLabelValues;
90 return deepCopy(existingEntry);
97 deepCopy(existingEntry);
109 ApiStringMap msm_LabelValueMap;
110 std::list<tstring> mls_ValueOptions;
111 bool mb_IsEntryGroup;
123 UsernameEditable(
true),
124 SecondaryUsernameEditable(
true),
125 UsesSecondaryAuth(
false)
134 deepCopy(existingGroupAttr);
142 return deepCopy(existingGroupAttr);
147 bool UsernameEditable;
149 bool SecondaryUsernameEditable;
151 bool UsesSecondaryAuth;
156 if (std::addressof(existingGroupAttr) !=
this)
158 CredRequired = existingGroupAttr.CredRequired;
159 UsesSDIAuth = existingGroupAttr.UsesSDIAuth;
160 UsernameEditable = existingGroupAttr.UsernameEditable;
161 Username = existingGroupAttr.Username.c_str();
162 SecondaryUsernameEditable = existingGroupAttr.SecondaryUsernameEditable;
163 SecondaryUsername = existingGroupAttr.SecondaryUsername.c_str();
164 UsesSecondaryAuth = existingGroupAttr.UsesSecondaryAuth;
174 SecondaryAuthEntry(
false),
175 SSOTimeoutSeconds(0),
176 SSOIsExternalBrowser(
false)
185 deepCopy(existingSingleAttr);
193 return deepCopy(existingSingleAttr);
196 bool SecondaryAuthEntry;
201 unsigned int SSOTimeoutSeconds;
203 bool SSOIsExternalBrowser;
204 std::unordered_set<tstring> SSOClientCertReqIgnoredFqdns;
209 if (std::addressof(existingSingleAttr) !=
this)
211 SecondaryAuthEntry = existingSingleAttr.SecondaryAuthEntry;
212 SSOURL = existingSingleAttr.SSOURL.c_str();
213 SSOFinalURL = existingSingleAttr.SSOFinalURL.c_str();
214 SSOTokenCookieName = existingSingleAttr.SSOTokenCookieName.c_str();
215 SSOErrorCookieName = existingSingleAttr.SSOErrorCookieName.c_str();
216 SSOTimeoutSeconds = existingSingleAttr.SSOTimeoutSeconds;
217 SSOUserAgent = existingSingleAttr.SSOUserAgent.c_str();
218 SSOIsExternalBrowser = existingSingleAttr.SSOIsExternalBrowser;
219 for (
const auto& fqdn : existingSingleAttr.SSOClientCertReqIgnoredFqdns)
221 SSOClientCertReqIgnoredFqdns.insert(fqdn.c_str());
228 typedef std::map<tstring, GroupAttributes> GroupAttributesMap;
231 void setGroupAttributesMap(
const GroupAttributesMap& groupAttributesMap);
238 void copyGroupAttributesMap (
const GroupAttributesMap &srcMap,
239 GroupAttributesMap &dstMap);
242 GroupAttributesMap m_GroupAttributesMap;
247 #endif // _PROMPTENTRYBASE_
#define tstring
Definition: api.h:35
Definition: PromptEntryBase.h:25
Definition: PromptEntryBase.h:117
Definition: PromptEntryBase.h:170
PromptType
Definition: api.h:269