- if ( !preferenceController )
- {
- preferenceController = [[PreferenceController alloc] initWithDelegate:self];
- }
-
- [preferenceController showWindow:self];
+ int err;
+ AuthorizationFlags authFlags;
+
+
+ NSLog (@"MyWindowController: preAuthorize");
+
+ if (_authRef)
+ return errAuthorizationSuccess;
+
+ NSLog (@"MyWindowController: preAuthorize: ** calling AuthorizationCreate...**\n");
+
+ authFlags = kAuthorizationFlagDefaults;
+ err = AuthorizationCreate (NULL, kAuthorizationEmptyEnvironment, authFlags, &_authRef);
+ if (err != errAuthorizationSuccess)
+ return err;
+
+ NSLog (@"MyWindowController: preAuthorize: ** calling AuthorizationCopyRights...**\n");
+
+ _authItem.name = kAuthorizationRightExecute;
+ _authItem.valueLength = 0;
+ _authItem.value = NULL;
+ _authItem.flags = 0;
+ _authRights.count = 1;
+ _authRights.items = (AuthorizationItem*) malloc (sizeof (_authItem));
+ memcpy (&_authRights.items[0], &_authItem, sizeof (_authItem));
+ authFlags = kAuthorizationFlagDefaults
+ | kAuthorizationFlagExtendRights
+ | kAuthorizationFlagInteractionAllowed
+ | kAuthorizationFlagPreAuthorize;
+ err = AuthorizationCopyRights (_authRef, &_authRights, kAuthorizationEmptyEnvironment, authFlags, NULL);
+
+ return err;