|
@@ -37,9 +37,10 @@ static PyObject* MessageRenderer_getData(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_getLength(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_getLength(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_isTruncated(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_isTruncated(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_getLengthLimit(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_getLengthLimit(s_MessageRenderer* self);
|
|
-// TODO: set/get compressmode
|
|
|
|
|
|
+static PyObject* MessageRenderer_getCompressMode(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_setTruncated(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_setTruncated(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_setLengthLimit(s_MessageRenderer* self, PyObject* args);
|
|
static PyObject* MessageRenderer_setLengthLimit(s_MessageRenderer* self, PyObject* args);
|
|
|
|
+static PyObject* MessageRenderer_setCompressMode(s_MessageRenderer* self, PyObject* args);
|
|
static PyObject* MessageRenderer_clear(s_MessageRenderer* self);
|
|
static PyObject* MessageRenderer_clear(s_MessageRenderer* self);
|
|
|
|
|
|
static PyMethodDef MessageRenderer_methods[] = {
|
|
static PyMethodDef MessageRenderer_methods[] = {
|
|
@@ -51,10 +52,14 @@ static PyMethodDef MessageRenderer_methods[] = {
|
|
"Returns True if the data is truncated" },
|
|
"Returns True if the data is truncated" },
|
|
{ "get_length_limit", reinterpret_cast<PyCFunction>(MessageRenderer_getLengthLimit), METH_NOARGS,
|
|
{ "get_length_limit", reinterpret_cast<PyCFunction>(MessageRenderer_getLengthLimit), METH_NOARGS,
|
|
"Returns the length limit of the data" },
|
|
"Returns the length limit of the data" },
|
|
|
|
+ { "get_compress_mode", reinterpret_cast<PyCFunction>(MessageRenderer_getCompressMode), METH_NOARGS,
|
|
|
|
+ "Returns the current compression mode" },
|
|
{ "set_truncated", reinterpret_cast<PyCFunction>(MessageRenderer_setTruncated), METH_NOARGS,
|
|
{ "set_truncated", reinterpret_cast<PyCFunction>(MessageRenderer_setTruncated), METH_NOARGS,
|
|
"Sets truncated to true" },
|
|
"Sets truncated to true" },
|
|
{ "set_length_limit", reinterpret_cast<PyCFunction>(MessageRenderer_setLengthLimit), METH_VARARGS,
|
|
{ "set_length_limit", reinterpret_cast<PyCFunction>(MessageRenderer_setLengthLimit), METH_VARARGS,
|
|
"Sets the length limit of the data to the given number" },
|
|
"Sets the length limit of the data to the given number" },
|
|
|
|
+ { "set_compress_mode", reinterpret_cast<PyCFunction>(MessageRenderer_setCompressMode), METH_VARARGS,
|
|
|
|
+ "Sets the compression mode of the MessageRenderer" },
|
|
{ "clear", reinterpret_cast<PyCFunction>(MessageRenderer_clear),
|
|
{ "clear", reinterpret_cast<PyCFunction>(MessageRenderer_clear),
|
|
METH_NOARGS,
|
|
METH_NOARGS,
|
|
"Clear the internal buffer and other internal resources." },
|
|
"Clear the internal buffer and other internal resources." },
|
|
@@ -159,6 +164,11 @@ MessageRenderer_getLengthLimit(s_MessageRenderer* self) {
|
|
}
|
|
}
|
|
|
|
|
|
static PyObject*
|
|
static PyObject*
|
|
|
|
+MessageRenderer_getCompressMode(s_MessageRenderer* self) {
|
|
|
|
+ return (Py_BuildValue("I", self->messagerenderer->getCompressMode()));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static PyObject*
|
|
MessageRenderer_setTruncated(s_MessageRenderer* self) {
|
|
MessageRenderer_setTruncated(s_MessageRenderer* self) {
|
|
self->messagerenderer->setTruncated();
|
|
self->messagerenderer->setTruncated();
|
|
Py_RETURN_NONE;
|
|
Py_RETURN_NONE;
|
|
@@ -177,6 +187,31 @@ MessageRenderer_setLengthLimit(s_MessageRenderer* self,
|
|
}
|
|
}
|
|
|
|
|
|
static PyObject*
|
|
static PyObject*
|
|
|
|
+MessageRenderer_setCompressMode(s_MessageRenderer* self,
|
|
|
|
+ PyObject* args)
|
|
|
|
+{
|
|
|
|
+ unsigned int mode;
|
|
|
|
+ if (!PyArg_ParseTuple(args, "I", &mode)) {
|
|
|
|
+ return (NULL);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (mode == MessageRenderer::CASE_INSENSITIVE) {
|
|
|
|
+ self->messagerenderer->setCompressMode(MessageRenderer::CASE_INSENSITIVE);
|
|
|
|
+ // If we return NULL it is seen as an error, so use this for
|
|
|
|
+ // None returns, it also applies to CASE_SENSITIVE.
|
|
|
|
+ Py_RETURN_NONE;
|
|
|
|
+ } else if (mode == MessageRenderer::CASE_SENSITIVE) {
|
|
|
|
+ self->messagerenderer->setCompressMode(MessageRenderer::CASE_SENSITIVE);
|
|
|
|
+ Py_RETURN_NONE;
|
|
|
|
+ } else {
|
|
|
|
+ PyErr_SetString(PyExc_TypeError,
|
|
|
|
+ "MessageRenderer compress mode must be MessageRenderer.CASE_INSENSITIVE"
|
|
|
|
+ "or MessageRenderer.CASE_SENSITIVE");
|
|
|
|
+ return (NULL);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static PyObject*
|
|
MessageRenderer_clear(s_MessageRenderer* self) {
|
|
MessageRenderer_clear(s_MessageRenderer* self) {
|
|
self->messagerenderer->clear();
|
|
self->messagerenderer->clear();
|
|
Py_RETURN_NONE;
|
|
Py_RETURN_NONE;
|
|
@@ -203,6 +238,14 @@ initModulePart_MessageRenderer(PyObject* mod) {
|
|
return (false);
|
|
return (false);
|
|
}
|
|
}
|
|
Py_INCREF(&messagerenderer_type);
|
|
Py_INCREF(&messagerenderer_type);
|
|
|
|
+
|
|
|
|
+ // Class variables
|
|
|
|
+ // These are added to the tp_dict of the type object
|
|
|
|
+ addClassVariable(messagerenderer_type, "CASE_INSENSITIVE",
|
|
|
|
+ Py_BuildValue("I", MessageRenderer::CASE_INSENSITIVE));
|
|
|
|
+ addClassVariable(messagerenderer_type, "CASE_SENSITIVE",
|
|
|
|
+ Py_BuildValue("I", MessageRenderer::CASE_SENSITIVE));
|
|
|
|
+
|
|
PyModule_AddObject(mod, "MessageRenderer",
|
|
PyModule_AddObject(mod, "MessageRenderer",
|
|
reinterpret_cast<PyObject*>(&messagerenderer_type));
|
|
reinterpret_cast<PyObject*>(&messagerenderer_type));
|
|
|
|
|