Pajdeg  0.2.2
Pajdeg
PDObject.h
Go to the documentation of this file.
1 //
2 // PDObject.h
3 //
4 // Copyright (c) 2012 - 2015 Karl-Johan Alm (http://github.com/kallewoof)
5 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to deal
8 // in the Software without restriction, including without limitation the rights
9 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 // copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
12 //
13 // The above copyright notice and this permission notice shall be included in
14 // all 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,
18 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 // THE SOFTWARE.
23 //
24 
85 #ifndef INCLUDED_PDObject_h
86 #define INCLUDED_PDObject_h
87 
88 #include "PDDefines.h"
89 
91 
101 
111 extern void PDObjectSetSynchronizationCallback(PDObjectRef object, PDSynchronizer callback, const void *syncInfo);
112 
118 extern void PDObjectDelete(PDObjectRef object);
119 
127 extern void PDObjectUndelete(PDObjectRef object);
128 
130 
136 extern PDInteger PDObjectGetObID(PDObjectRef object);
137 
143 extern PDInteger PDObjectGetGenID(PDObjectRef object);
144 
154 
160 extern const char *PDObjectGetReferenceString(PDObjectRef object);
161 
171 
176 
183 extern void PDObjectSetType(PDObjectRef object, PDObjectType type);
184 
190 extern PDBool PDObjectHasStream(PDObjectRef object);
191 
200 
211 
225 
231 extern char *PDObjectGetStream(PDObjectRef object);
232 
239 extern void *PDObjectGetValue(PDObjectRef object);
240 
249 extern void PDObjectSetValue(PDObjectRef object, void *value);
250 
252 // * Get the instance type of the object.
253 // *
254 // * @param object The object
255 // *
256 // * @return Instance type value. PDInstanceTypeUnknown is returned if the instance type could not be determined.
257 // */
258 //extern PDInstanceType PDObjectGetInstanceType(PDObjectRef object);
259 //
261 // * Get the instance for the object's definition. The instance is a PDDictionary, PDArray, PDString, etc. depending on what the
262 // * object's definition looks like.
263 // *
264 // * @param object The object
265 // *
266 // * @return Appropriate object type. Use PDResolve() to determine its type if unsure.
267 // */
268 //extern void *PDObjectGetInstance(PDObjectRef object);
269 
278 
287 
289 
311 extern void PDObjectReplaceWithString(PDObjectRef object, char *str, PDInteger len);
312 
314 
322 extern void PDObjectSkipStream(PDObjectRef object);
323 
336 extern void PDObjectSetStream(PDObjectRef object, char *str, PDInteger len, PDBool includeLength, PDBool allocated, PDBool encrypted);
337 
358 extern PDBool PDObjectSetStreamFiltered(PDObjectRef object, char *str, PDInteger len, PDBool encrypted);
359 
368 extern void PDObjectSetFlateDecodedFlag(PDObjectRef object, PDBool state);
369 
382 extern void PDObjectSetPredictionStrategy(PDObjectRef object, PDPredictorType strategy, PDInteger columns);
383 
392 extern void PDObjectSetStreamEncrypted(PDObjectRef object, PDBool encrypted);
393 
395 
408 extern PDInteger PDObjectGenerateDefinition(PDObjectRef object, char **dstBuf, PDInteger capacity);
409 
410 extern PDInteger PDObjectPrinter(void *inst, char **buf, PDInteger offs, PDInteger *cap);
411 
412 #endif
413  // unbalanced, but doxygen complains for some reason
417 
PDBool PDObjectGetObStreamFlag(PDObjectRef object)
Definition: PDObject.c:108
void PDObjectSetPredictionStrategy(PDObjectRef object, PDPredictorType strategy, PDInteger columns)
Definition: PDObject.c:384
void PDObjectSetStream(PDObjectRef object, char *str, PDInteger len, PDBool includeLength, PDBool allocated, PDBool encrypted)
Definition: PDObject.c:302
void PDObjectUndelete(PDObjectRef object)
Definition: PDObject.c:91
PDInteger PDObjectGetGenID(PDObjectRef object)
Definition: PDObject.c:103
PDInteger PDObjectGetRawStreamLength(PDObjectRef object)
Definition: PDObject.c:173
void PDObjectSetStreamEncrypted(PDObjectRef object, PDBool encrypted)
Definition: PDObject.c:395
long PDInteger
Definition: PDDefines.h:184
PDObjectType PDObjectDetermineType(PDObjectRef object)
Definition: PDObject.c:123
unsigned char PDBool
Definition: PDDefines.h:207
void PDObjectSetType(PDObjectRef object, PDObjectType type)
Definition: PDObject.c:118
char * PDObjectGetStream(PDObjectRef object)
Definition: PDObject.c:206
PDDictionaryRef PDObjectGetDictionary(PDObjectRef object)
Definition: PDObject.c:255
void PDObjectSkipStream(PDObjectRef object)
Definition: PDObject.c:297
PDObjectRef PDObjectCreateFromDefinitionsStack(PDInteger obid, pd_stack defs)
Definition: PDObject.c:69
PDBool PDObjectHasStream(PDObjectRef object)
Definition: PDObject.c:168
PDBool PDObjectSetStreamFiltered(PDObjectRef object, char *str, PDInteger len, PDBool encrypted)
Definition: PDObject.c:332
PDPredictorType
Definition: PDDefines.h:825
Definition: pd_internal.h:190
void PDObjectSetFlateDecodedFlag(PDObjectRef object, PDBool state)
Definition: PDObject.c:372
void * PDObjectGetValue(PDObjectRef object)
Definition: PDObject.c:212
void PDObjectSetSynchronizationCallback(PDObjectRef object, PDSynchronizer callback, const void *syncInfo)
Definition: PDObject.c:76
const char * PDObjectGetReferenceString(PDObjectRef object)
Definition: PDObject.c:157
PDArrayRef PDObjectGetArray(PDObjectRef object)
Definition: PDObject.c:277
PDObjectType
Definition: PDDefines.h:611
void PDObjectDelete(PDObjectRef object)
Definition: PDObject.c:82
PDInteger PDObjectGenerateDefinition(PDObjectRef object, char **dstBuf, PDInteger capacity)
Definition: PDObject.c:420
void(* PDSynchronizer)(void *parser, void *object, const void *syncInfo)
Definition: PDDefines.h:311
Definition: pd_internal.h:544
Definition: pd_internal.h:611
Definition: pd_internal.h:639
Definitions for the Pajdeg interface.
PDBool PDObjectHasTextStream(PDObjectRef object)
Definition: PDObject.c:184
PDInteger PDObjectGetObID(PDObjectRef object)
Definition: PDObject.c:98
void PDObjectReplaceWithString(PDObjectRef object, char *str, PDInteger len)
Definition: PDObject.c:291
void PDObjectSetValue(PDObjectRef object, void *value)
Definition: PDObject.c:220
PDObjectType PDObjectGetType(PDObjectRef object)
Definition: PDObject.c:113
PDInteger PDObjectGetExtractedStreamLength(PDObjectRef object)
Definition: PDObject.c:178