]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
plugins: fts-solr: Move definition of struct solr_lookup_xml_context from solr-connec...
authorStephan Bosch <stephan.bosch@open-xchange.com>
Tue, 8 Oct 2019 16:56:54 +0000 (18:56 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 9 Jan 2020 12:52:43 +0000 (12:52 +0000)
src/plugins/fts-solr/Makefile.am
src/plugins/fts-solr/solr-connection.c
src/plugins/fts-solr/solr-response.c [new file with mode: 0644]

index 522202e8845278ea416a3a4d300f74fff7172121..e44452017fb5f394d54ba4787824f7e79d2147aa 100644 (file)
@@ -28,6 +28,9 @@ lib21_fts_solr_plugin_la_SOURCES = \
        fts-solr-plugin.c \
        solr-connection.c
 
+EXTRA_DIST = \
+       solr-response.c
+
 noinst_HEADERS = \
        fts-solr-plugin.h \
        solr-response.h \
index 35093b28873654115323eaa0ab23fe74a6f58aef..cf5b82e45eb4d5e73dd99334fe8dc2a8449c2899 100644 (file)
 
 #include <expat.h>
 
-enum solr_xml_response_state {
-       SOLR_XML_RESPONSE_STATE_ROOT,
-       SOLR_XML_RESPONSE_STATE_RESPONSE,
-       SOLR_XML_RESPONSE_STATE_RESULT,
-       SOLR_XML_RESPONSE_STATE_DOC,
-       SOLR_XML_RESPONSE_STATE_CONTENT
-};
-
-enum solr_xml_content_state {
-       SOLR_XML_CONTENT_STATE_NONE = 0,
-       SOLR_XML_CONTENT_STATE_UID,
-       SOLR_XML_CONTENT_STATE_SCORE,
-       SOLR_XML_CONTENT_STATE_MAILBOX,
-       SOLR_XML_CONTENT_STATE_NAMESPACE,
-       SOLR_XML_CONTENT_STATE_UIDVALIDITY,
-       SOLR_XML_CONTENT_STATE_ERROR
-};
-
-struct solr_lookup_xml_context {
-       enum solr_xml_response_state state;
-       enum solr_xml_content_state content_state;
-       int depth;
-
-       uint32_t uid, uidvalidity;
-       float score;
-       char *mailbox, *ns;
-
-       pool_t result_pool;
-       /* box_id -> solr_result */
-       HASH_TABLE(char *, struct solr_result *) mailboxes;
-       ARRAY(struct solr_result *) results;
-};
-
 struct solr_connection_post {
        struct solr_connection *conn;
 
@@ -76,6 +43,8 @@ struct solr_connection {
        bool http_ssl:1;
 };
 
+#include "solr-response.c"
+
 static int
 solr_xml_parse(struct solr_connection *conn,
               const void *data, size_t size, bool done)
diff --git a/src/plugins/fts-solr/solr-response.c b/src/plugins/fts-solr/solr-response.c
new file mode 100644 (file)
index 0000000..05abedc
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright (c) 2006-2018 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "solr-response.h"
+
+#include <expat.h>
+
+enum solr_xml_response_state {
+       SOLR_XML_RESPONSE_STATE_ROOT,
+       SOLR_XML_RESPONSE_STATE_RESPONSE,
+       SOLR_XML_RESPONSE_STATE_RESULT,
+       SOLR_XML_RESPONSE_STATE_DOC,
+       SOLR_XML_RESPONSE_STATE_CONTENT
+};
+
+enum solr_xml_content_state {
+       SOLR_XML_CONTENT_STATE_NONE = 0,
+       SOLR_XML_CONTENT_STATE_UID,
+       SOLR_XML_CONTENT_STATE_SCORE,
+       SOLR_XML_CONTENT_STATE_MAILBOX,
+       SOLR_XML_CONTENT_STATE_NAMESPACE,
+       SOLR_XML_CONTENT_STATE_UIDVALIDITY,
+       SOLR_XML_CONTENT_STATE_ERROR
+};
+
+struct solr_lookup_xml_context {
+       enum solr_xml_response_state state;
+       enum solr_xml_content_state content_state;
+       int depth;
+
+       uint32_t uid, uidvalidity;
+       float score;
+       char *mailbox, *ns;
+
+       pool_t result_pool;
+       /* box_id -> solr_result */
+       HASH_TABLE(char *, struct solr_result *) mailboxes;
+       ARRAY(struct solr_result *) results;
+};