5 // Created by Claudio Bisegni on 29/07/09.
6 // Copyright 2009 Infn. All rights reserved.
9 #import <Cocoa/Cocoa.h>
10 #import "AFSMenuCredentialContoller.h"
12 @interface AFSBackgrounderDelegate : NSObject {
14 IBOutlet NSMenu *backgrounderMenu;
15 IBOutlet NSMenuItem *startStopMenuItem;
16 IBOutlet NSMenuItem *getReleaseTokenMenuItem;
17 NSStatusItem *statusItem;
20 BOOL afsState; //0-off 1-on
21 BOOL gotToken; //0-no 1-one o more token
25 AFSPropertyManager *afsMngr;
27 NSNumber *useAklogPrefValue;
28 NSNumber *showStatusMenu;
29 NSNumber *aklogTokenAtLogin;
30 //Icon for state visualization
31 NSImage *hasTokenImage;
32 NSImage *noTokenImage;
35 NSNumber *krb5CheckRenew;
36 NSNumber *krb5RenewTime;
37 NSNumber *krb5RenewCheckTimeInterval;
38 NSNumber *krb5SecToExpireTimeForRenew;
40 //credential windows mainWindow
41 AFSMenuCredentialContoller *credentialMenuController;
43 //NSTimer for tokens refresh
44 NSTimer *timerForCheckTokensList;
45 NSTimer *timerForCheckRenewTicket;
47 NSLock *renewTicketLock;
48 bool currentLinkActivationStatus;
49 NSMutableDictionary *linkConfiguration;
50 NSLock *linkCreationLock;
54 - (void)startTimerRenewTicket;
55 - (void)stopTimerRenewTicket;
56 - (BOOL)useAklogPrefValue;
57 - (void)readPreferenceFile:(NSNotification *)notification;
58 - (void)getToken:(id)sender;
59 - (void)releaseToken:(id)sender;
60 - (void)updateAfsStatus:(NSTimer*)timer;
61 - (void)krb5RenewAction:(NSTimer*)timer;
62 - (void)klogUserEven:(NSNotification *)notification;
63 - (void)switchHandler:(NSNotification*) notification;
64 - (void)chageMenuVisibility:(NSNotification *)notification;
65 - (NSImage*)getImageFromBundle:(NSString*)fileName fileExt:(NSString*)ext;
66 - (NSImage*)imageToRender;
67 - (void)menuNeedsUpdate:(NSMenu *)menu;
68 - (void) afsVolumeMountChange:(NSNotification *)notification;
69 - (void) updateLinkModeStatusWithpreferenceStatus:(BOOL)status;
70 -(NSStatusItem*)statusItem;
71 -(void) setStatusItem:(BOOL)show;
72 -(NSImage*)imageToRender;
73 -(IBAction) startStopEvent:(id)sender;
74 -(IBAction) getReleaseTokenEvent:(id)sender;