diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-05-21 16:48:11 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-05-21 16:48:11 (GMT) |
commit | acd355c4c5ae25fb9cac64b8dc17407a2bcc979b (patch) | |
tree | d5b43201049116cd9734ff554e61ed8a7e0084cc /src/arch/sharing/instance-int.h | |
parent | 4691a434a34a19317156a761967f719e408b73bb (diff) |
Refined the whole share system for operands.
Diffstat (limited to 'src/arch/sharing/instance-int.h')
-rw-r--r-- | src/arch/sharing/instance-int.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/arch/sharing/instance-int.h b/src/arch/sharing/instance-int.h index f9a91ba..cf5a56d 100644 --- a/src/arch/sharing/instance-int.h +++ b/src/arch/sharing/instance-int.h @@ -26,14 +26,21 @@ #include "instance.h" +#include "manager.h" +/* Fournit le gestionnaire de partages attribué à un type. */ +typedef GShareManager * (* get_share_manager_fc) (const GSharedInstance *); + /* Initialise un nouvel objet partagé avec des informations. */ -typedef bool (* init_shared_fc) (GSharedInstance *, const GSharedInstance *); +typedef bool (* apply_shared_template_fc) (GSharedInstance *, const GSharedInstance *); /* Procède à l'initialisation de l'interface de partage. */ -typedef void (* qck_copy_shared_fc) (const GSharedInstance *, GSharedInstance *); +typedef void (* define_shared_template_fc) (const GSharedInstance *, GSharedInstance *); + +/* Initialise un nouvel objet partagé avec des informations. */ +typedef bool (* free_shared_template_fc) (const GSharedInstance *, GSharedInstance *); /* Fournit la valeur du compteur de partage. */ typedef unsigned int (* get_shared_ref_fc) (const GSharedInstance *); @@ -45,7 +52,7 @@ typedef void (* inc_shared_ref_fc) (GSharedInstance *); typedef void (* dec_shared_ref_fc) (GSharedInstance *); /* Procède à l'initialisation de l'interface de partage. */ -typedef int (* qck_compare_shared_fc) (const GSharedInstance **, const GSharedInstance **); +typedef int (* compare_shared_fc) (const GSharedInstance * const *, const GSharedInstance * const *); /* Règles de partage d'une instance GObject (interface) */ @@ -53,14 +60,17 @@ struct _GSharedInstanceIface { GTypeInterface base_iface; /* A laisser en premier */ - init_shared_fc init; /* Initialisation de l'objet */ - qck_copy_shared_fc qck_copy; /* Copie minimale des détails */ + get_share_manager_fc get_manager; /* Accès au gestionnaire */ + + apply_shared_template_fc apply_template;/* Intialisation d'instance */ + define_shared_template_fc define_template; /* Copie minimale de détails*/ + free_shared_template_fc free_template; /* Libération d'un patron */ get_shared_ref_fc get_ref; /* Obtention du compteur */ inc_shared_ref_fc inc_ref; /* Incrémentation du compteur */ dec_shared_ref_fc dec_ref; /* Décrémentation du compteur */ - qck_compare_shared_fc qck_cmp; /* Comparaison des détails */ + compare_shared_fc compare; /* Comparaison des détails */ }; |