chiark / gitweb /
Concentrate knowledge about the `pcre' API in one place.
[disorder] / lib / configuration.h
index c2a39aa8835c19f58fede0c514293f9c5733de6d..148d08f60adda079a105ab00a797d39f34ce2a6c 100644 (file)
 #ifndef CONFIGURATION_H
 #define CONFIGURATION_H
 
-#if HAVE_PCRE_H
-# include <pcre.h>
-#endif
-
 #include "speaker-protocol.h"
+#include "regexp.h"
 #include "rights.h"
 #include "addr.h"
 
@@ -70,11 +67,10 @@ struct collectionlist {
   struct collection *s;
 };
 
-#if HAVE_PCRE_H
 /** @brief A track name part */
 struct namepart {
   char *part;                          /* part */
-  pcre *re;                            /* compiled regexp */
+  regexp *re;                          /* compiled regexp */
   char *res;                            /* regexp as a string */
   char *replace;                       /* replacement string */
   char *context;                       /* context glob */
@@ -92,7 +88,7 @@ struct transform {
   char *type;                          /* track or dir */
   char *context;                       /* sort or choose */
   char *replace;                       /* substitution string */
-  pcre *re;                            /* compiled re */
+  regexp *re;                          /* compiled re */
   unsigned flags;                      /* regexp flags */
 };
 
@@ -101,7 +97,6 @@ struct transformlist {
   int n;
   struct transform *t;
 };
-#endif
 
 /** @brief System configuration */
 struct config {
@@ -220,9 +215,7 @@ struct config {
   /** @brief Minimum time between a track being played again */
   long replay_min;
   
-#if HAVE_PCRE_H
   struct namepartlist namepart;                /* transformations */
-#endif
 
   /** @brief Termination signal for subprocesses */
   int signal;
@@ -230,9 +223,7 @@ struct config {
   /** @brief ALSA output device */
   const char *device;
 
-#if HAVE_PCRE_H
   struct transformlist transform;      /* path name transformations */
-#endif
 
   /** @brief Address to send audio data to */
   struct netaddress broadcast;