3 * AudioscrobblerController
4 * Audioscrobbler Support Class
6 * Original Author : Kent Sutherland <kent.sutherland@ithinksw.com>
7 * Responsibility : Kent Sutherland <kent.sutherland@ithinksw.com>
9 * Copyright (c) 2005 iThink Software.
14 #import <Cocoa/Cocoa.h>
17 AudioscrobblerIdleStatus = -1,
18 AudioscrobblerRequestingHandshakeStatus,
19 AudioscrobblerCompletedHandshakeStatus,
20 AudioscrobblerSubmittingTracksStatus,
21 AudioscrobblerWaitingIntervalStatus
22 } AudioscrobblerStatus;
24 @interface AudioscrobblerController : NSObject {
25 BOOL _handshakeCompleted;
26 AudioscrobblerStatus _currentStatus;
27 NSMutableArray *_tracks, *_submitTracks;
30 NSString *_md5Challenge, *_lastStatus;
32 NSMutableData *_responseData;
34 + (AudioscrobblerController *)sharedController;
36 - (NSString *)lastStatus;
37 - (void)attemptHandshake;
38 - (void)attemptHandshake:(BOOL)force;
39 - (BOOL)handshakeCompleted;
40 - (void)submitTrack:(NSString *)title artist:(NSString *)artist album:(NSString *)album length:(int)length;