CSSocial
 All Classes Functions Properties Pages
/Users/marko/Documents/CSLib/CSSocial/CSSocialService.h
1 //
2 // CSSocialService.h
3 // CSCocialManager2.0
4 //
5 // Created by Marko Hlebar on 6/21/12.
6 // Copyright (c) 2012 Clover Studio. All rights reserved.
7 //
8 
9 #import <UIKit/UIKit.h>
10 #import "CSConstants.h"
11 #import "CSRequests.h"
12 #import "CSSocialRequest.h"
13 
14 @protocol CSSocialUser;
15 @protocol CSSocialParameter;
16 
18 @protocol CSSocialService <NSObject>
19 @optional
20 -(NSError*) errorWithLocalizedDescription:(NSString*) description;
21 
22 @required
23 -(NSOperationQueue*) operationQueue;
24 -(void) login:(CSVoidBlock) success error:(CSErrorBlock) error;
25 -(CSSocialRequest*) constructRequestWithParameter:(id<CSSocialParameter>) parameter;
26 -(BOOL) permissionGranted:(NSString*) permission;
27 -(void) requestPermissionsForRequest:(CSSocialRequest*) request permissionsBlock:(CSErrorBlock) permissionsBlock;
28 -(BOOL) isAuthenticated;
29 -(void) logout;
30 -(NSString*) serviceName;
31 
32 @optional
33 -(BOOL) openURL:(NSURL*) url sourceApplication:(NSString*) sourceApplication annotation:(id) annotation;
34 -(BOOL) handleOpenURL:(NSURL*)url;
35 @end
36 
37 @interface CSSocialService : NSObject <CSSocialService>
38 @property (nonatomic, strong) NSOperationQueue *requestQueue;
39 @property (nonatomic, copy) CSErrorBlock permissionsBlock;
40 @property (nonatomic, copy) CSVoidBlock loginSuccessBlock;
41 @property (nonatomic, copy) CSErrorBlock loginFailedBlock;
42 
43 -(CSSocialRequest*) requestWithParameter:(id<CSSocialParameter>) parameter
44  response:(CSSocialResponseBlock) responseBlock
45 __attribute__((deprecated));
46 
50 -(void) sendRequest:(CSSocialRequest*) request
51  response:(CSSocialResponseBlock) responseBlock;
52 
56 -(CSSocialRequest*) requestWithParameter:(id<CSSocialParameter>)parameter;
57 
63 -(id) showDialogWithMessage:(NSString*) message
64  photo:(UIImage*) photo
65  handler:(CSErrorBlock) handlerBlock;
66 
67 @end