Updated to version 1.6.5
[MenuTunes.git] / AudioscrobblerController.h
1 /*
2  *      MenuTunes
3  *  AudioscrobblerController
4  *    Audioscrobbler Support Class
5  *
6  *  Original Author : Kent Sutherland <kent.sutherland@ithinksw.com>
7  *   Responsibility : Kent Sutherland <kent.sutherland@ithinksw.com>
8  *
9  *  Copyright (c) 2005 iThink Software.
10  *  All Rights Reserved
11  *
12  */
13
14 #import <Cocoa/Cocoa.h>
15
16 typedef enum {
17         AudioscrobblerIdleStatus = -1,
18         AudioscrobblerRequestingHandshakeStatus,
19         AudioscrobblerCompletedHandshakeStatus,
20         AudioscrobblerSubmittingTracksStatus,
21         AudioscrobblerWaitingIntervalStatus
22 } AudioscrobblerStatus;
23
24 @interface AudioscrobblerController : NSObject {
25         BOOL _handshakeCompleted;
26         AudioscrobblerStatus _currentStatus;
27         NSMutableArray *_tracks, *_submitTracks;
28         NSDate *_delayDate;
29         
30         NSString *_md5Challenge, *_lastStatus;
31         NSURL *_postURL;
32         NSMutableData *_responseData;
33 }
34 + (AudioscrobblerController *)sharedController;
35
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;
41 - (void)submitTracks;
42 @end