00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef COLLECTION_STACK_H
00023 #define COLLECTION_STACK_H
00024
00025 #include <collection.h>
00026
00037 #define COL_CLASS_STACK 30000
00038
00039 #define COL_NAME_STACK "stack"
00040
00052 int col_create_stack(struct collection_item **stack);
00053
00063 void col_destroy_stack(struct collection_item *stack);
00064
00097 int col_push_str_property(struct collection_item *stack,
00098 const char *property,
00099 const char *string,
00100 int length);
00122 int col_push_binary_property(struct collection_item *stack,
00123 const char *property,
00124 void *binary_data,
00125 int length);
00146 int col_push_int_property(struct collection_item *stack,
00147 const char *property,
00148 int32_t number);
00169 int col_push_unsigned_property(struct collection_item *stack,
00170 const char *property,
00171 uint32_t number);
00192 int col_push_long_property(struct collection_item *stack,
00193 const char *property,
00194 int64_t number);
00215 int col_push_ulong_property(struct collection_item *stack,
00216 const char *property,
00217 uint64_t number);
00238 int col_push_double_property(struct collection_item *stack,
00239 const char *property,
00240 double number);
00261 int col_push_bool_property(struct collection_item *stack,
00262 const char *property,
00263 unsigned char logical);
00264
00288 int col_push_any_property(struct collection_item *stack,
00289 const char *property,
00290 int type,
00291 void *data,
00292 int length);
00293
00305 int col_push_item(struct collection_item *stack,
00306 struct collection_item *item);
00307
00308
00322 int col_pop_item(struct collection_item *stack,
00323 struct collection_item **item);
00324
00325 #endif