17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_Context_get__doc__,
67db96d56Sopenharmony_ci"get($self, key, default=None, /)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Return the value for `key` if `key` has the value in the context object.\n"
107db96d56Sopenharmony_ci"\n"
117db96d56Sopenharmony_ci"If `key` does not exist, return `default`. If `default` is not given,\n"
127db96d56Sopenharmony_ci"return None.");
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXT_GET_METHODDEF    \
157db96d56Sopenharmony_ci    {"get", _PyCFunction_CAST(_contextvars_Context_get), METH_FASTCALL, _contextvars_Context_get__doc__},
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_cistatic PyObject *
187db96d56Sopenharmony_ci_contextvars_Context_get_impl(PyContext *self, PyObject *key,
197db96d56Sopenharmony_ci                              PyObject *default_value);
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_cistatic PyObject *
227db96d56Sopenharmony_ci_contextvars_Context_get(PyContext *self, PyObject *const *args, Py_ssize_t nargs)
237db96d56Sopenharmony_ci{
247db96d56Sopenharmony_ci    PyObject *return_value = NULL;
257db96d56Sopenharmony_ci    PyObject *key;
267db96d56Sopenharmony_ci    PyObject *default_value = Py_None;
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("get", nargs, 1, 2)) {
297db96d56Sopenharmony_ci        goto exit;
307db96d56Sopenharmony_ci    }
317db96d56Sopenharmony_ci    key = args[0];
327db96d56Sopenharmony_ci    if (nargs < 2) {
337db96d56Sopenharmony_ci        goto skip_optional;
347db96d56Sopenharmony_ci    }
357db96d56Sopenharmony_ci    default_value = args[1];
367db96d56Sopenharmony_ciskip_optional:
377db96d56Sopenharmony_ci    return_value = _contextvars_Context_get_impl(self, key, default_value);
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ciexit:
407db96d56Sopenharmony_ci    return return_value;
417db96d56Sopenharmony_ci}
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_Context_items__doc__,
447db96d56Sopenharmony_ci"items($self, /)\n"
457db96d56Sopenharmony_ci"--\n"
467db96d56Sopenharmony_ci"\n"
477db96d56Sopenharmony_ci"Return all variables and their values in the context object.\n"
487db96d56Sopenharmony_ci"\n"
497db96d56Sopenharmony_ci"The result is returned as a list of 2-tuples (variable, value).");
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXT_ITEMS_METHODDEF    \
527db96d56Sopenharmony_ci    {"items", (PyCFunction)_contextvars_Context_items, METH_NOARGS, _contextvars_Context_items__doc__},
537db96d56Sopenharmony_ci
547db96d56Sopenharmony_cistatic PyObject *
557db96d56Sopenharmony_ci_contextvars_Context_items_impl(PyContext *self);
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_cistatic PyObject *
587db96d56Sopenharmony_ci_contextvars_Context_items(PyContext *self, PyObject *Py_UNUSED(ignored))
597db96d56Sopenharmony_ci{
607db96d56Sopenharmony_ci    return _contextvars_Context_items_impl(self);
617db96d56Sopenharmony_ci}
627db96d56Sopenharmony_ci
637db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_Context_keys__doc__,
647db96d56Sopenharmony_ci"keys($self, /)\n"
657db96d56Sopenharmony_ci"--\n"
667db96d56Sopenharmony_ci"\n"
677db96d56Sopenharmony_ci"Return a list of all variables in the context object.");
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXT_KEYS_METHODDEF    \
707db96d56Sopenharmony_ci    {"keys", (PyCFunction)_contextvars_Context_keys, METH_NOARGS, _contextvars_Context_keys__doc__},
717db96d56Sopenharmony_ci
727db96d56Sopenharmony_cistatic PyObject *
737db96d56Sopenharmony_ci_contextvars_Context_keys_impl(PyContext *self);
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_cistatic PyObject *
767db96d56Sopenharmony_ci_contextvars_Context_keys(PyContext *self, PyObject *Py_UNUSED(ignored))
777db96d56Sopenharmony_ci{
787db96d56Sopenharmony_ci    return _contextvars_Context_keys_impl(self);
797db96d56Sopenharmony_ci}
807db96d56Sopenharmony_ci
817db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_Context_values__doc__,
827db96d56Sopenharmony_ci"values($self, /)\n"
837db96d56Sopenharmony_ci"--\n"
847db96d56Sopenharmony_ci"\n"
857db96d56Sopenharmony_ci"Return a list of all variables\' values in the context object.");
867db96d56Sopenharmony_ci
877db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXT_VALUES_METHODDEF    \
887db96d56Sopenharmony_ci    {"values", (PyCFunction)_contextvars_Context_values, METH_NOARGS, _contextvars_Context_values__doc__},
897db96d56Sopenharmony_ci
907db96d56Sopenharmony_cistatic PyObject *
917db96d56Sopenharmony_ci_contextvars_Context_values_impl(PyContext *self);
927db96d56Sopenharmony_ci
937db96d56Sopenharmony_cistatic PyObject *
947db96d56Sopenharmony_ci_contextvars_Context_values(PyContext *self, PyObject *Py_UNUSED(ignored))
957db96d56Sopenharmony_ci{
967db96d56Sopenharmony_ci    return _contextvars_Context_values_impl(self);
977db96d56Sopenharmony_ci}
987db96d56Sopenharmony_ci
997db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_Context_copy__doc__,
1007db96d56Sopenharmony_ci"copy($self, /)\n"
1017db96d56Sopenharmony_ci"--\n"
1027db96d56Sopenharmony_ci"\n"
1037db96d56Sopenharmony_ci"Return a shallow copy of the context object.");
1047db96d56Sopenharmony_ci
1057db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXT_COPY_METHODDEF    \
1067db96d56Sopenharmony_ci    {"copy", (PyCFunction)_contextvars_Context_copy, METH_NOARGS, _contextvars_Context_copy__doc__},
1077db96d56Sopenharmony_ci
1087db96d56Sopenharmony_cistatic PyObject *
1097db96d56Sopenharmony_ci_contextvars_Context_copy_impl(PyContext *self);
1107db96d56Sopenharmony_ci
1117db96d56Sopenharmony_cistatic PyObject *
1127db96d56Sopenharmony_ci_contextvars_Context_copy(PyContext *self, PyObject *Py_UNUSED(ignored))
1137db96d56Sopenharmony_ci{
1147db96d56Sopenharmony_ci    return _contextvars_Context_copy_impl(self);
1157db96d56Sopenharmony_ci}
1167db96d56Sopenharmony_ci
1177db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_ContextVar_get__doc__,
1187db96d56Sopenharmony_ci"get($self, default=<unrepresentable>, /)\n"
1197db96d56Sopenharmony_ci"--\n"
1207db96d56Sopenharmony_ci"\n"
1217db96d56Sopenharmony_ci"Return a value for the context variable for the current context.\n"
1227db96d56Sopenharmony_ci"\n"
1237db96d56Sopenharmony_ci"If there is no value for the variable in the current context, the method will:\n"
1247db96d56Sopenharmony_ci" * return the value of the default argument of the method, if provided; or\n"
1257db96d56Sopenharmony_ci" * return the default value for the context variable, if it was created\n"
1267db96d56Sopenharmony_ci"   with one; or\n"
1277db96d56Sopenharmony_ci" * raise a LookupError.");
1287db96d56Sopenharmony_ci
1297db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXTVAR_GET_METHODDEF    \
1307db96d56Sopenharmony_ci    {"get", _PyCFunction_CAST(_contextvars_ContextVar_get), METH_FASTCALL, _contextvars_ContextVar_get__doc__},
1317db96d56Sopenharmony_ci
1327db96d56Sopenharmony_cistatic PyObject *
1337db96d56Sopenharmony_ci_contextvars_ContextVar_get_impl(PyContextVar *self, PyObject *default_value);
1347db96d56Sopenharmony_ci
1357db96d56Sopenharmony_cistatic PyObject *
1367db96d56Sopenharmony_ci_contextvars_ContextVar_get(PyContextVar *self, PyObject *const *args, Py_ssize_t nargs)
1377db96d56Sopenharmony_ci{
1387db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1397db96d56Sopenharmony_ci    PyObject *default_value = NULL;
1407db96d56Sopenharmony_ci
1417db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("get", nargs, 0, 1)) {
1427db96d56Sopenharmony_ci        goto exit;
1437db96d56Sopenharmony_ci    }
1447db96d56Sopenharmony_ci    if (nargs < 1) {
1457db96d56Sopenharmony_ci        goto skip_optional;
1467db96d56Sopenharmony_ci    }
1477db96d56Sopenharmony_ci    default_value = args[0];
1487db96d56Sopenharmony_ciskip_optional:
1497db96d56Sopenharmony_ci    return_value = _contextvars_ContextVar_get_impl(self, default_value);
1507db96d56Sopenharmony_ci
1517db96d56Sopenharmony_ciexit:
1527db96d56Sopenharmony_ci    return return_value;
1537db96d56Sopenharmony_ci}
1547db96d56Sopenharmony_ci
1557db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_ContextVar_set__doc__,
1567db96d56Sopenharmony_ci"set($self, value, /)\n"
1577db96d56Sopenharmony_ci"--\n"
1587db96d56Sopenharmony_ci"\n"
1597db96d56Sopenharmony_ci"Call to set a new value for the context variable in the current context.\n"
1607db96d56Sopenharmony_ci"\n"
1617db96d56Sopenharmony_ci"The required value argument is the new value for the context variable.\n"
1627db96d56Sopenharmony_ci"\n"
1637db96d56Sopenharmony_ci"Returns a Token object that can be used to restore the variable to its previous\n"
1647db96d56Sopenharmony_ci"value via the `ContextVar.reset()` method.");
1657db96d56Sopenharmony_ci
1667db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXTVAR_SET_METHODDEF    \
1677db96d56Sopenharmony_ci    {"set", (PyCFunction)_contextvars_ContextVar_set, METH_O, _contextvars_ContextVar_set__doc__},
1687db96d56Sopenharmony_ci
1697db96d56Sopenharmony_ciPyDoc_STRVAR(_contextvars_ContextVar_reset__doc__,
1707db96d56Sopenharmony_ci"reset($self, token, /)\n"
1717db96d56Sopenharmony_ci"--\n"
1727db96d56Sopenharmony_ci"\n"
1737db96d56Sopenharmony_ci"Reset the context variable.\n"
1747db96d56Sopenharmony_ci"\n"
1757db96d56Sopenharmony_ci"The variable is reset to the value it had before the `ContextVar.set()` that\n"
1767db96d56Sopenharmony_ci"created the token was used.");
1777db96d56Sopenharmony_ci
1787db96d56Sopenharmony_ci#define _CONTEXTVARS_CONTEXTVAR_RESET_METHODDEF    \
1797db96d56Sopenharmony_ci    {"reset", (PyCFunction)_contextvars_ContextVar_reset, METH_O, _contextvars_ContextVar_reset__doc__},
1807db96d56Sopenharmony_ci/*[clinic end generated code: output=2436b16a92452869 input=a9049054013a1b77]*/
181