00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #import <UIKit/UIKit.h>
00029
00030
00031 #import "cocoslive.h"
00032
00033
00034 #if USE_LOCAL_SERVER
00035 #define SCORE_SERVER_REQUEST_URL @"http://localhost:8080/api/get-scores"
00036 #define SCORE_SERVER_GETRANK_URL @"http://localhost:8080/api/get-rank-for-score"
00037 #else
00038 #define SCORE_SERVER_REQUEST_URL @"http://www.cocoslive.net/api/get-scores"
00039 #define SCORE_SERVER_GETRANK_URL @"http://www.cocoslive.net/api/get-rank-for-score"
00040 #endif
00041
00043 typedef enum {
00044 kQueryIgnore = 0,
00045 kQueryDay = 1,
00046 kQueryWeek = 2,
00047 kQueryMonth = 3,
00048 kQueryAllTime = 4,
00049 } tQueryType;
00050
00052 typedef enum {
00053 kQueryFlagIgnore = 0,
00054 kQueryFlagByCountry = 1 << 0,
00055 kQueryFlagByDevice = 1 << 1,
00056 } tQueryFlags;
00057
00061 @interface CLScoreServerRequest : NSObject {
00062
00064 NSString *gameName;
00065
00067 id delegate;
00068
00069
00070 NSMutableData *receivedData;
00071
00072
00073 BOOL reqRankOnly;
00074
00076 NSURLConnection *connection_;
00077 }
00078
00080 @property (nonatomic, retain) NSURLConnection *connection;
00081
00082
00084 +(id) serverWithGameName:(NSString*) name delegate:(id)delegate;
00085
00087 -(id) initWithGameName:(NSString*) name delegate:(id)delegate;
00088
00094 -(BOOL) requestScores: (tQueryType) type limit:(int)limit offset:(int)offset flags:(tQueryFlags)flags category:(NSString*)category;
00095
00100 -(BOOL) requestScores: (tQueryType) type limit:(int)limit offset:(int)offset flags:(tQueryFlags)flags;
00101
00103 -(NSArray*) parseScores;
00104
00109 -(BOOL) requestRankForScore:(int)score andCategory:(NSString*)category;
00110
00112 -(int) parseRank;
00113
00114 @end
00115
00117 @protocol CLRequestDelegate <NSObject>
00118 -(void) scoreRequestOk:(id) sender;
00119 -(void) scoreRequestRankOk:(id) sender;
00120 -(void) scoreRequestFail:(id) sender;
00121 @end