diff options
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*/ }; |