summaryrefslogtreecommitdiff
path: root/plugins/pychrysalide/glibext/singleton.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pychrysalide/glibext/singleton.c')
-rw-r--r--plugins/pychrysalide/glibext/singleton.c176
1 files changed, 3 insertions, 173 deletions
diff --git a/plugins/pychrysalide/glibext/singleton.c b/plugins/pychrysalide/glibext/singleton.c
index 8491473..4aad7f5 100644
--- a/plugins/pychrysalide/glibext/singleton.c
+++ b/plugins/pychrysalide/glibext/singleton.c
@@ -42,7 +42,7 @@
/* Procède à l'initialisation de l'interface de candidature. */
-static void py_singleton_candidate_interface_init(GSingletonCandidateIface *, gpointer *);
+static void py_singleton_candidate_interface_init(GSingletonCandidateInterface *, gpointer *);
/* Fournit une liste de candidats embarqués par un candidat. */
static GSingletonCandidate **py_singleton_candidate_list_inner_instances_wrapper(const GSingletonCandidate *, size_t *);
@@ -56,21 +56,12 @@ static guint py_singleton_candidate___hash__wrapper(const GSingletonCandidate *)
/* Détermine si deux candidats à l'unicité sont identiques. */
static gboolean py_singleton_candidate___eq__wrapper(const GSingletonCandidate *, const GSingletonCandidate *);
-/* Marque un candidat comme figé. */
-static void py_singleton_candidate_set_ro_wrapper(GSingletonCandidate *);
-
-/* Indique si le candidat est figé. */
-static bool py_singleton_candidate_is_ro_wrapper(const GSingletonCandidate *);
-
/* Fournit l'empreinte d'un candidat à une centralisation. */
static PyObject *py_singleton_candidate_hash(PyObject *, PyObject *);
/* Fournit une liste de candidats embarqués par un candidat. */
static PyObject *py_singleton_candidate_get_inner_instances(PyObject *, void *);
-/* Indique si le candidat est figé. */
-static PyObject *py_singleton_candidate_get_read_only(PyObject *, void *);
-
/* Effectue une comparaison avec un objet 'SingletonCandidate'. */
static PyObject *py_singleton_candidate_richcompare(PyObject *, PyObject *, int);
@@ -108,7 +99,7 @@ static PyObject *py_singleton_factory_get_instance(PyObject *, PyObject *);
* *
******************************************************************************/
-static void py_singleton_candidate_interface_init(GSingletonCandidateIface *iface, gpointer *unused)
+static void py_singleton_candidate_interface_init(GSingletonCandidateInterface *iface, gpointer *unused)
{
#define SINGLETON_CANDIDATE_DOC \
"The SingletonCandidate class is a required interface for objects" \
@@ -127,9 +118,7 @@ static void py_singleton_candidate_interface_init(GSingletonCandidateIface *ifac
"* pychrysalide.glibext.SingletonCandidate._list_inner_instances();\n" \
"* pychrysalide.glibext.SingletonCandidate._update_inner_instances();\n"\
"* pychrysalide.glibext.SingletonCandidate.__hash__();\n" \
- "* pychrysalide.glibext.SingletonCandidate.__eq__();\n" \
- "* pychrysalide.glibext.SingletonCandidate._set_read_only();\n" \
- "* pychrysalide.glibext.SingletonCandidate._is_read_only().\n"
+ "* pychrysalide.glibext.SingletonCandidate.__eq__().\n"
iface->update_inner = py_singleton_candidate_update_inner_instances_wrapper;
iface->list_inner = py_singleton_candidate_list_inner_instances_wrapper;
@@ -137,9 +126,6 @@ static void py_singleton_candidate_interface_init(GSingletonCandidateIface *ifac
iface->hash = py_singleton_candidate___hash__wrapper;
iface->is_equal = py_singleton_candidate___eq__wrapper;
- iface->set_ro = py_singleton_candidate_set_ro_wrapper;
- iface->is_ro = py_singleton_candidate_is_ro_wrapper;
-
}
@@ -440,111 +426,6 @@ static gboolean py_singleton_candidate___eq__wrapper(const GSingletonCandidate *
/******************************************************************************
* *
-* Paramètres : candidate = objet dont l'instance se veut unique. *
-* *
-* Description : Marque un candidat comme figé. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void py_singleton_candidate_set_ro_wrapper(GSingletonCandidate *candidate)
-{
- PyGILState_STATE gstate; /* Sauvegarde d'environnement */
- PyObject *pyobj; /* Objet Python concerné */
- PyObject *pyret; /* Bilan de consultation */
-
-#define SINGLETON_CANDIDATE_SET_RO_WRAPPER PYTHON_WRAPPER_DEF \
-( \
- _set_read_only, "$self, /", \
- METH_NOARGS, \
- "Abstract method used to mark the content of a singleton" \
- " candidate as read-only.\n" \
- "\n" \
- "The read-only state is mandatory once the candidate is" \
- " registered inside a pychrysalide.glibext.SingletonFactory"\
- " instance as official singleton." \
-)
-
- gstate = PyGILState_Ensure();
-
- pyobj = pygobject_new(G_OBJECT(candidate));
-
- if (has_python_method(pyobj, "_set_read_only"))
- {
- pyret = run_python_method(pyobj, "_set_read_only", NULL);
-
- Py_XDECREF(pyret);
-
- }
-
- Py_DECREF(pyobj);
-
- PyGILState_Release(gstate);
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : candidate = objet dont l'instance se veut unique. *
-* *
-* Description : Indique si le candidat est figé. *
-* *
-* Retour : true si le contenu du candidat ne peut plus être modifié. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static bool py_singleton_candidate_is_ro_wrapper(const GSingletonCandidate *candidate)
-{
- bool result; /* Etat à retourner */
- PyGILState_STATE gstate; /* Sauvegarde d'environnement */
- PyObject *pyobj; /* Objet Python concerné */
- PyObject *pyret; /* Bilan de consultation */
-
-#define SINGLETON_CANDIDATE_IS_RO_WRAPPER PYTHON_WRAPPER_DEF \
-( \
- _is_read_only, "$self, /", \
- METH_NOARGS, \
- "Abstract method used to retrieve the status of the data" \
- " contained by a singleton candidate.\n" \
- "\n" \
- "The retured value is *True* if the candidate is" \
- " registered inside a pychrysalide.glibext.SingletonFactory"\
- " instance as official singleton, *False* otherwise." \
-)
-
- result = false;
-
- gstate = PyGILState_Ensure();
-
- pyobj = pygobject_new(G_OBJECT(candidate));
-
- if (has_python_method(pyobj, "_is_read_only"))
- {
- pyret = run_python_method(pyobj, "_is_read_only", NULL);
-
- result = (pyret == Py_True);
-
- Py_XDECREF(pyret);
-
- }
-
- Py_DECREF(pyobj);
-
- PyGILState_Release(gstate);
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : self = objet dont l'instance se veut unique. *
* args = adresse non utilisée ici. *
* *
@@ -644,49 +525,6 @@ static PyObject *py_singleton_candidate_get_inner_instances(PyObject *self, void
/******************************************************************************
* *
-* Paramètres : self = objet Python concerné par l'appel. *
-* closure = non utilisé ici. *
-* *
-* Description : Indique si le candidat est figé. *
-* *
-* Retour : true si le contenu du candidat ne peut plus être modifié. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static PyObject *py_singleton_candidate_get_read_only(PyObject *self, void *closure)
-{
- PyObject *result; /* Valeur à retourner */
- GSingletonCandidate *candidate; /* Mécanismes natifs */
- bool status; /* Etat de l'élément consulté */
-
-#define SINGLETON_CANDIDATE_READ_ONLY_ATTRIB PYTHON_GET_DEF_FULL \
-( \
- read_only, py_singleton_candidate, \
- "State of the singleton candidate content.\n" \
- "\n" \
- "The result is a boolean: *True* if the object is registered" \
- " as singleton, *False* otherwise.\n" \
- "\n" \
- "Once a singleton, the object must not change its content as" \
- " it is a shared instance." \
-)
-
- candidate = G_SINGLETON_CANDIDATE(pygobject_get(self));
-
- status = g_singleton_candidate_is_read_only(candidate);
-
- result = status ? Py_True : Py_False;
- Py_INCREF(result);
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : a = premier object Python à consulter. *
* b = second object Python à consulter. *
* op = type de comparaison menée. *
@@ -755,15 +593,12 @@ PyTypeObject *get_python_singleton_candidate_type(void)
SINGLETON_CANDIDATE_UPDATE_INNER_INSTANCES_WRAPPER,
SINGLETON_CANDIDATE_HASH_WRAPPER,
SINGLETON_CANDIDATE_EQ_WRAPPER,
- SINGLETON_CANDIDATE_SET_RO_WRAPPER,
- SINGLETON_CANDIDATE_IS_RO_WRAPPER,
SINGLETON_CANDIDATE_HASH_METHOD,
{ NULL }
};
static PyGetSetDef py_singleton_candidate_getseters[] = {
SINGLETON_CANDIDATE_INNER_INSTANCES_ATTRIB,
- SINGLETON_CANDIDATE_READ_ONLY_ATTRIB,
{ NULL }
};
@@ -973,11 +808,6 @@ static int py_singleton_factory_init(PyObject *self, PyObject *args, PyObject *k
"\n" \
"The first processed instance defines the type handled by the factory."
- /* Récupération des paramètres */
-
- ret = PyArg_ParseTuple(args, "");
- if (!ret) return -1;
-
/* Initialisation d'un objet GLib */
ret = forward_pygobjet_init(self);