/*---------------------------------------------------------------------------*/
/* FormsObject.h                                                             */
/* copyright (c) innovaphone 2015                                            */
/*                                                                           */
/*---------------------------------------------------------------------------*/

@class Forms;

@interface FormsIntArray : NSObject

@property (copy) int (^get)(int index);
@property (copy) void (^set)(int index, int value);
@property (copy) int (^size)();
@property (copy) void (^add)(int value);
@property (copy) void (^clear)();

+ (id) array;

- (id) init;
- (int) objectAtIndexedSubscript:(int)index;
- (void) setObject:(int)value atIndexedSubscript:(int)index;

@end
@interface FormsStringArray : NSObject

@property (copy) NSString *(^get)(int index);
@property (copy) void (^set)(int index, NSString *str);
@property (copy) int (^size)();
@property (copy) void (^add)(NSString *str);
@property (copy) void (^clear)();
@property (copy) void (^setArray)(NSArray *stringArray);

+ (id) array;

- (id) init;
- (NSString *) objectAtIndexedSubscript:(int)index;
- (void) setObject:(NSString *)str atIndexedSubscript:(int)index;

@end
@interface FormsStringDictionary : NSObject

@property (copy) NSString *(^get)(NSString *key);
@property (copy) void (^put)(NSString *key, NSString *str);

+ (id) dictionary;

- (id) init;

@end
@interface FormsObject : NSObject

@property (nonatomic,readonly) int obj_id;
@property (nonatomic,weak) Forms *forms;

+ (id) formsObjectWithId:(int)new_id;
+ (id) formsObjectWithId:(int)new_id forms:(Forms *)forms;
+ (id) formsObjectWithForms:(Forms *)forms;

- (id) initWithId:(int)new_id;
- (id) initWithId:(int)new_id forms:(Forms *)forms;
- (id) initWithForms:(Forms *)forms;

@end
