hank
2018-04-18 b80c10222a4be80d825c3367b4b92c34d6776942
commit | author | age
3eceb5 1 //
W 2 //  VKApiBase.h
3 //
4 //  Copyright (c) 2014 VK.com
5 //
6 //  Permission is hereby granted, free of charge, to any person obtaining a copy of
7 //  this software and associated documentation files (the "Software"), to deal in
8 //  the Software without restriction, including without limitation the rights to
9 //  use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10 //  the Software, and to permit persons to whom the Software is furnished to do so,
11 //  subject to the following conditions:
12 //
13 //  The above copyright notice and this permission notice shall be included in all
14 //  copies or substantial portions of the Software.
15 //
16 //  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 //  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18 //  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19 //  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20 //  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 //  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 #import <Foundation/Foundation.h>
24 #import "VKRequest.h"
25 #import "VKApiConst.h"
26 #import "VKObject.h"
27
28 /**
29 * Basic class for all API-requests builders (parts)
30 */
31 @interface VKApiBase : VKObject {
32 @private
33     NSString *_methodGroup;  ///< Selected methods group
34 }
35 /**
36 Return group name for current methods builder
37 @return name of methods group, e.g. users, wall, etc.
38 */
39 - (NSString *)getMethodGroup;
40
41 /**
42  Builds request and return it for configure and loading
43  @param methodName Selected method name
44  @param methodParameters Selected method parameters
45  @return request to configure and load
46  */
47 - (VKRequest *)prepareRequestWithMethodName:(NSString *)methodName
48                                  parameters:(NSDictionary *)methodParameters;
49
50 /**
51  Builds request and return it for configure and loading
52  @param methodName Selected method name
53  @param methodParameters Selected method parameters
54  @param modelClass Class of model, based on VKApiObject, for model parsing
55  @return request to configure and load
56  */
57 - (VKRequest *)prepareRequestWithMethodName:(NSString *)methodName
58                                  parameters:(NSDictionary *)methodParameters
59                                  modelClass:(Class)modelClass;
60
61 @end