Reset the screen that the status window is on when the system's screens change.
[MenuTunes.git] / AudioscrobblerController.h
1 /*
2  *      MenuTunes
3  *      AudioscrobblerController.h
4  *
5  *      Audioscrobbler Support Class.
6  *
7  *      Copyright (c) 2005 iThink Software
8  *
9  */
10
11 #import <Cocoa/Cocoa.h>
12
13 typedef enum {
14         AudioscrobblerIdleStatus = -1,
15         AudioscrobblerRequestingHandshakeStatus,
16         AudioscrobblerCompletedHandshakeStatus,
17         AudioscrobblerSubmittingTracksStatus,
18         AudioscrobblerWaitingIntervalStatus
19 } AudioscrobblerStatus;
20
21 @interface AudioscrobblerController : NSObject {
22         BOOL _handshakeCompleted;
23         int _handshakeAttempts;
24         AudioscrobblerStatus _currentStatus;
25         NSMutableArray *_tracks, *_submitTracks;
26         NSDate *_delayDate;
27         
28         NSString *_md5Challenge, *_lastStatus;
29         NSURL *_postURL;
30         NSMutableData *_responseData;
31 }
32 + (AudioscrobblerController *)sharedController;
33
34 - (NSString *)lastStatus;
35 - (void)attemptHandshake;
36 - (void)attemptHandshake:(BOOL)force;
37 - (BOOL)handshakeCompleted;
38 - (void)submitTrack:(NSString *)title artist:(NSString *)artist album:(NSString *)album length:(int)length;
39 - (void)submitTracks;
40 @end