OpenAFS
OpenAFS distributed network file system
|
00001 // 00002 // AFSMenuExtra.h 00003 // AFSCommander 00004 // 00005 // Created by Claudio on 10/07/07. 00006 // Copyright 2007 INFN - National Institute of Nuclear Physics. All rights reserved. 00007 // 00008 00009 00010 #import <Cocoa/Cocoa.h> 00011 #import "SystemUIPlugin.h" 00012 #import "global.h" 00013 #import "AFSMenuCredentialContoller.h" 00014 @class AFSMenuExtraView; 00015 @interface AFSMenuExtra : NSMenuExtra { 00016 @public 00017 BOOL afsState; //0-off 1-on 00018 BOOL gotToken; //0-no 1-one o more token 00019 00020 @protected 00021 NSString *afsSysPath; 00022 NSNumber *useAklogPrefValue; 00023 //menu extra 00024 NSMenu *theMenu; 00025 00026 //Menu extra view 00027 AFSMenuExtraView *theView; 00028 // menu reference 00029 NSMenuItem *startStopMenu; 00030 NSMenuItem *loginMenu; 00031 NSMenuItem *unlogMenu; 00032 00033 //Icon for state visualization 00034 NSImage *hasTokenImage; 00035 NSImage *noTokenImage; 00036 00037 //credential windows mainWindow 00038 AFSMenuCredentialContoller *credentialMenuController; 00039 00040 //NSTimer for tokens refresh 00041 NSTimer *timerForCheckTokensList; 00042 NSLock *tokensLock; 00043 } 00044 - (void)startTimer; 00045 - (void)stopTimer; 00046 - (BOOL)useAklogPrefValue; 00047 - (void)readPreferenceFile:(NSNotification *)notification; 00048 - (void)getToken:(id)sender; 00049 - (void)releaseToken:(id)sender; 00050 - (void)updateAfsStatus:(NSTimer*)timer; 00051 - (void)klogUserEven:(NSNotification *)notification; 00052 - (NSImage*)getImageFromBundle:(NSString*)fileName fileExt:(NSString*)ext; 00053 - (NSImage*)imageToRender; 00054 - (void)updateMenu; 00055 - (void) afsVolumeMountChange:(NSNotification *)notification; 00056 @end