]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: wurfl: reduce exposure in the rest of the code
authorWilly Tarreau <w@1wt.eu>
Tue, 8 Nov 2016 17:47:25 +0000 (18:47 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 8 Nov 2016 17:47:25 +0000 (18:47 +0100)
The only reason wurfl/wurfl.h was needed outside of wurfl.c was to expose
wurfl_handle which is a pointer to a structure, referenced by global.h.
By just storing a void* there instead, we can confine all wurfl code to
wurfl.c, which is really nice.

include/import/wurfl.h [deleted file]
include/proto/wurfl.h [new file with mode: 0644]
include/types/global.h
src/haproxy.c
src/wurfl.c

diff --git a/include/import/wurfl.h b/include/import/wurfl.h
deleted file mode 100644 (file)
index c59da34..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _IMPORT_WURFL_H
-#define _IMPORT_WURFL_H
-
-#include <wurfl/wurfl.h>
-
-int ha_wurfl_init(void);
-void ha_wurfl_deinit(void);
-
-typedef char *(*PROP_CALLBACK_FUNC)(wurfl_handle wHandle, wurfl_device_handle dHandle);
-
-enum wurfl_data_type {
-       HA_WURFL_DATA_TYPE_UNKNOWN = 0,
-       HA_WURFL_DATA_TYPE_CAP = 100,
-       HA_WURFL_DATA_TYPE_VCAP = 200,
-       HA_WURFL_DATA_TYPE_PROPERTY = 300
-};
-
-typedef struct {
-       char *name;
-       enum wurfl_data_type type;
-       PROP_CALLBACK_FUNC func_callback;
-       struct ebmb_node nd;
-} wurfl_data_t;
-
-#endif
diff --git a/include/proto/wurfl.h b/include/proto/wurfl.h
new file mode 100644 (file)
index 0000000..a238184
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef _PROTO_WURFL_H
+#define _PROTO_WURFL_H
+
+int ha_wurfl_init(void);
+void ha_wurfl_deinit(void);
+
+#endif
index 1e8cabaa7a25f8e71e8fbed792517080b3135275..9f069ad25a67b7aca2f0c5543a7e644afc3dbc63 100644 (file)
 #include <import/51d.h>
 #endif
 
-#ifdef USE_WURFL
-#include <import/wurfl.h>
-#endif
-
 #ifndef UNIX_MAX_PATH
 #define UNIX_MAX_PATH 108
 #endif
@@ -222,7 +218,7 @@ struct global {
                struct list patch_file_list; /* the list of WURFL patch file to use */
                char information_list_separator; /* the separator used in request to separate values */
                struct list information_list; /* the list of WURFL data to return into request */
-               wurfl_handle handle; /* the handle to WURFL engine */
+               void *handle; /* the handle to WURFL engine */
                struct eb_root btree; /* btree containing info (name/type) on WURFL data to return */
        } wurfl;
 #endif
index 222ee20a579d6485679d835be776f1b7ec6e3097..80d503086f3449059491209f9cf636e8eb3c1a68 100644 (file)
 #include <proto/ssl_sock.h>
 #endif
 
+#ifdef USE_WURFL
+#include <proto/wurfl.h>
+#endif
+
 #ifdef USE_DEVICEATLAS
 #include <import/da.h>
 #endif
 #include <import/51d.h>
 #endif
 
-#ifdef USE_WURFL
-#include <import/wurfl.h>
-#endif
-
 /*********************************************************************/
 
 extern const struct comp_algo comp_algos[];
index 0f5ce2d7fd60e49f791850964d9272651d65f1a3..18723a6b108dece156e6c7ad98d4c39b40e7aaec 100644 (file)
@@ -8,9 +8,11 @@
 #include <proto/log.h>
 #include <proto/proto_http.h>
 #include <proto/sample.h>
+#include <proto/wurfl.h>
 #include <ebsttree.h>
 #include <ebmbtree.h>
-#include <import/wurfl.h>
+
+#include <wurfl/wurfl.h>
 
 
 #ifdef WURFL_DEBUG
@@ -32,6 +34,22 @@ inline static void ha_wurfl_log(char * message, ...)
 
 #define HA_WURFL_MAX_HEADER_LENGTH 1024
 
+typedef char *(*PROP_CALLBACK_FUNC)(wurfl_handle wHandle, wurfl_device_handle dHandle);
+
+enum wurfl_data_type {
+       HA_WURFL_DATA_TYPE_UNKNOWN = 0,
+       HA_WURFL_DATA_TYPE_CAP = 100,
+       HA_WURFL_DATA_TYPE_VCAP = 200,
+       HA_WURFL_DATA_TYPE_PROPERTY = 300
+};
+
+typedef struct {
+       char *name;
+       enum wurfl_data_type type;
+       PROP_CALLBACK_FUNC func_callback;
+       struct ebmb_node nd;
+} wurfl_data_t;
+
 static const char HA_WURFL_MODULE_VERSION[] = "1.0";
 static const char HA_WURFL_ISDEVROOT_FALSE[] = "FALSE";
 static const char HA_WURFL_ISDEVROOT_TRUE[] = "TRUE";