3 * AudioscrobblerController.h
5 * Audioscrobbler Support Class.
7 * Copyright (c) 2005 iThink Software
11 #import <Cocoa/Cocoa.h>
14 AudioscrobblerIdleStatus = -1,
15 AudioscrobblerRequestingHandshakeStatus,
16 AudioscrobblerCompletedHandshakeStatus,
17 AudioscrobblerSubmittingTracksStatus,
18 AudioscrobblerWaitingIntervalStatus
19 } AudioscrobblerStatus;
21 @interface AudioscrobblerController : NSObject {
22 BOOL _handshakeCompleted;
23 int _handshakeAttempts;
24 AudioscrobblerStatus _currentStatus;
25 NSMutableArray *_tracks, *_submitTracks;
28 NSString *_md5Challenge, *_lastStatus;
30 NSMutableData *_responseData;
32 + (AudioscrobblerController *)sharedController;
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;