summaryrefslogtreecommitdiffstats
path: root/src/kim/agent/mac/IPCClient.m
diff options
context:
space:
mode:
authorJustin Anderson <jander@mit.edu>2008-10-02 17:34:17 +0000
committerJustin Anderson <jander@mit.edu>2008-10-02 17:34:17 +0000
commit347cfa63fa8d3097d540fa84146e020e06c9a91c (patch)
tree8e87a8f64d6a0bbc8f6158695914fb7262a1fd23 /src/kim/agent/mac/IPCClient.m
parentb8b7bd63231094a3583847853bf60cb002781161 (diff)
downloadkrb5-347cfa63fa8d3097d540fa84146e020e06c9a91c.tar.gz
krb5-347cfa63fa8d3097d540fa84146e020e06c9a91c.tar.xz
krb5-347cfa63fa8d3097d540fa84146e020e06c9a91c.zip
Resize dialogs better, added progress indicator to show KerberosAgent is working between interactions
Make Identity and Identities classes use NSDictionary representations of kim_options like the rest of KerberosAgent. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20811 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim/agent/mac/IPCClient.m')
-rw-r--r--src/kim/agent/mac/IPCClient.m23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/kim/agent/mac/IPCClient.m b/src/kim/agent/mac/IPCClient.m
index 814e1480f..62b6dd0f8 100644
--- a/src/kim/agent/mac/IPCClient.m
+++ b/src/kim/agent/mac/IPCClient.m
@@ -119,11 +119,23 @@ enum krb_agent_client_state {
return 0;
}
-- (void) didSelectIdentity: (NSString *) identityString options: (NSDictionary *) options
+- (void) didSelectIdentity: (NSString *) identityString
+ options: (NSDictionary *) options
+ wantsChangePassword: (BOOL) wantsChangePassword
{
+ NSLog(@"%s %@ %@", __FUNCTION__, identityString, options);
[self.currentInfo setObject:identityString forKey:@"identity_string"];
- [self.currentInfo setObject:options forKey:@"options"];
-
+ // if the user set custom options, use those
+ if (options) {
+ [self.currentInfo setObject:options forKey:@"options"];
+ }
+ // else use the options in the hints
+ else {
+ [self.currentInfo setObject:[self.currentInfo valueForKeyPath:@"hints.options"]
+ forKey:@"options"];
+ }
+ [self.currentInfo setObject:[NSNumber numberWithBool:wantsChangePassword] forKey:@"wants_change_password"];
+
[KerberosAgentListener didSelectIdentity:self.currentInfo error:0];
// clean up state
@@ -142,10 +154,13 @@ enum krb_agent_client_state {
return 0;
}
-- (void) didEnterIdentity: (NSString *) identityString options: (NSDictionary *) options
+- (void) didEnterIdentity: (NSString *) identityString
+ options: (NSDictionary *) options
+ wantsChangePassword: (BOOL) wantsChangePassword
{
[self.currentInfo setObject:identityString forKey:@"identity_string"];
[self.currentInfo setObject:options forKey:@"options"];
+ [self.currentInfo setObject:[NSNumber numberWithBool:wantsChangePassword] forKey:@"wants_change_password"];
[KerberosAgentListener didEnterIdentity:self.currentInfo error:0];
}