mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-11 15:51:36 +00:00
23e3b4c2e5
And also internally for cross-builtin use.
65 lines
1.3 KiB
Objective-C
65 lines
1.3 KiB
Objective-C
#ifndef __ruamoko_PropertyList_h
|
|
#define __ruamoko_PropertyList_h
|
|
|
|
#include <plist.h>
|
|
#include <Object.h>
|
|
|
|
@class PLItem;
|
|
|
|
@protocol PLDictionary
|
|
- (int) count;
|
|
- (int) numKeys;
|
|
- (PLItem *) getObjectForKey:(string) key;
|
|
- (PLItem *) allKeys;
|
|
- addKey:(string) key value:(PLItem *) value;
|
|
@end
|
|
|
|
@protocol PLArray
|
|
- (int) count;
|
|
- (int) numObjects;
|
|
- (PLItem *) getObjectAtIndex:(int) index;
|
|
- addObject:(PLItem *) object;
|
|
- insertObject:(PLItem *) object atIndex:(int) index;
|
|
@end
|
|
|
|
@protocol PLString
|
|
- (string) string;
|
|
@end
|
|
|
|
@interface PLItem: Object <PLDictionary, PLArray, PLString>
|
|
{
|
|
plitem_t *item;
|
|
int own;
|
|
}
|
|
+ (PLItem *) newDictionary;
|
|
+ (PLItem *) newArray;
|
|
+ (PLItem *) newData:(void*) data size:(int) len;
|
|
+ (PLItem *) newString:(string) str;
|
|
+ (PLItem *) fromString:(string) str;
|
|
+ (PLItem *) fromFile:(QFile) file;
|
|
|
|
- initWithItem:(plitem_t *) item;
|
|
- initWithOwnItem:(plitem_t *) item;
|
|
- (plitem_t *) item;
|
|
- (string) write;
|
|
- (pltype_t) type;
|
|
- (int) line;
|
|
@end
|
|
|
|
@interface PLDictionary: PLItem <PLDictionary>
|
|
+ (PLDictionary *) new;
|
|
@end
|
|
|
|
@interface PLArray: PLItem <PLArray>
|
|
+ (PLArray *) new;
|
|
@end
|
|
|
|
@interface PLData: PLItem
|
|
+ (PLData *) new:(void*) data size:(int) len;
|
|
@end
|
|
|
|
@interface PLString: PLItem <PLString>
|
|
+ (PLString *) new:(string) str;
|
|
@end
|
|
|
|
#endif//__ruamoko_PropertyList_h
|