diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2025-01-26 14:25:51 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2025-01-26 14:25:51 (GMT) |
commit | 56c148de74ed8c78ce54ed24daa83ec2f641e054 (patch) | |
tree | d4e43da9d6c729146c77fb30de8fa3767b257afb /src/glibext/singleton-int.h | |
parent | b1227a2779c9a72cab1295a1419a9c990df6488e (diff) |
Define new interfaces for arch operands.
Diffstat (limited to 'src/glibext/singleton-int.h')
-rw-r--r-- | src/glibext/singleton-int.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/glibext/singleton-int.h b/src/glibext/singleton-int.h index 9212e2e..747e64a 100644 --- a/src/glibext/singleton-int.h +++ b/src/glibext/singleton-int.h @@ -38,11 +38,14 @@ typedef GSingletonCandidate ** (* list_inner_instances_fc) (const GSingletonCand /* Met à jour une liste de candidats embarqués par un candidat. */ typedef void (* update_inner_instances_fc) (GSingletonCandidate *, GSingletonCandidate **, size_t); -/* Fournit l'empreinte d'un candidat à une centralisation. */ -typedef guint (* hash_candidate_fc) (const GSingletonCandidate *); +/* Marque un candidat comme figé. */ +typedef void (* mark_candidate_as_ro_fc) (GSingletonCandidate *); -/* Détermine si deux candidats à l'unicité sont identiques. */ -typedef gboolean (* is_candidate_equal_fc) (const GSingletonCandidate *, const GSingletonCandidate *); +/* Indique si le candidat est figé. */ +typedef bool (* is_candidate_ro_fc) (const GSingletonCandidate *); + +/* Crée une copie modifiable d'un object unique. */ +typedef GSingletonCandidate * (* dup_candidate_fc) (const GSingletonCandidate *); /* Instance d'objet visant à être unique (interface) */ @@ -53,8 +56,10 @@ struct _GSingletonCandidateInterface list_inner_instances_fc list_inner; /* Récupération d'internes */ update_inner_instances_fc update_inner; /* Mise à jour des éléments */ - hash_candidate_fc hash; /* Prise d'empreinte */ - is_candidate_equal_fc is_equal; /* Comparaison */ + mark_candidate_as_ro_fc mark_as_ro; /* Bascule en mode figé */ + is_candidate_ro_fc is_ro; /* Consultation de l'état */ + + dup_candidate_fc dup; /* Création de copie modifiable*/ }; |