equal
deleted
inserted
replaced
27 #define SCHEMELIST_H_ |
27 #define SCHEMELIST_H_ |
28 |
28 |
29 #include "scheme.h" |
29 #include "scheme.h" |
30 |
30 |
31 typedef struct { |
31 typedef struct { |
32 int _referenceCount; |
|
33 int schemeCount; |
32 int schemeCount; |
34 flib_scheme **schemes; |
33 flib_scheme **schemes; |
35 } flib_schemelist; |
34 } flib_schemelist; |
36 |
35 |
37 /** |
36 /** |
58 * Returns 0 on success. |
57 * Returns 0 on success. |
59 */ |
58 */ |
60 int flib_schemelist_insert(flib_schemelist *list, flib_scheme *cfg, int pos); |
59 int flib_schemelist_insert(flib_schemelist *list, flib_scheme *cfg, int pos); |
61 |
60 |
62 /** |
61 /** |
63 * Delete a cfg from the list at position pos, moving down all higher schemes. |
62 * Delete a scheme from the list at position pos, moving down all higher schemes. |
64 * The scheme is released automatically. |
63 * The scheme is released automatically. |
65 * Returns 0 on success. |
64 * Returns 0 on success. |
66 */ |
65 */ |
67 int flib_schemelist_delete(flib_schemelist *list, int pos); |
66 int flib_schemelist_delete(flib_schemelist *list, int pos); |
68 |
67 |
70 * Find the scheme with a specific name |
69 * Find the scheme with a specific name |
71 */ |
70 */ |
72 flib_scheme *flib_schemelist_find(flib_schemelist *list, const char *name); |
71 flib_scheme *flib_schemelist_find(flib_schemelist *list, const char *name); |
73 |
72 |
74 /** |
73 /** |
75 * Increase the reference count of the object. Call this if you store a pointer to it somewhere. |
74 * Free this schemelist. |
76 * Returns the parameter. |
|
77 */ |
75 */ |
78 flib_schemelist *flib_schemelist_retain(flib_schemelist *list); |
76 void flib_schemelist_destroy(flib_schemelist *list); |
79 |
|
80 /** |
|
81 * Decrease the reference count of the object and free it if this was the last reference. |
|
82 */ |
|
83 void flib_schemelist_release(flib_schemelist *list); |
|
84 |
77 |
85 |
78 |
86 #endif /* SCHEMELIST_H_ */ |
79 #endif /* SCHEMELIST_H_ */ |