summaryrefslogtreecommitdiff
path: root/src/select/hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/select/hash.h')
-rw-r--r--src/select/hash.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/select/hash.h b/src/select/hash.h
index 9beaa6b..e705554 100644
--- a/src/select/hash.h
+++ b/src/select/hash.h
@@ -18,6 +18,10 @@ struct css_selector;
typedef struct css_selector_hash css_selector_hash;
+typedef css_error (*css_selector_hash_iterator)(css_selector_hash *hash,
+ const struct css_selector **current,
+ const struct css_selector ***next);
+
css_error css_selector_hash_create(lwc_context *dict,
css_allocator_fn alloc, void *pw,
css_selector_hash **hash);
@@ -30,10 +34,19 @@ css_error css_selector_hash_remove(css_selector_hash *hash,
css_error css_selector_hash_find(css_selector_hash *hash,
lwc_string *name,
+ css_selector_hash_iterator *iterator,
+ const struct css_selector ***matched);
+css_error css_selector_hash_find_by_class(css_selector_hash *hash,
+ lwc_string *name,
+ css_selector_hash_iterator *iterator,
+ const struct css_selector ***matched);
+css_error css_selector_hash_find_by_id(css_selector_hash *hash,
+ lwc_string *name,
+ css_selector_hash_iterator *iterator,
+ const struct css_selector ***matched);
+css_error css_selector_hash_find_universal(css_selector_hash *hash,
+ css_selector_hash_iterator *iterator,
const struct css_selector ***matched);
-css_error css_selector_hash_iterate(css_selector_hash *hash,
- const struct css_selector **current,
- const struct css_selector ***next);
css_error css_selector_hash_size(css_selector_hash *hash, size_t *size);