chiark / gitweb /
disorder.h: more consistent approach to function attributes
[disorder] / lib / configuration.h
index 63c82c8db368d2c8358b0a072aa59833e4df871d..c2a39aa8835c19f58fede0c514293f9c5733de6d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This file is part of DisOrder.
- * Copyright (C) 2004-2010 Richard Kettlewell
+ * Copyright (C) 2004-2011, 2013 Richard Kettlewell
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,7 +22,9 @@
 #ifndef CONFIGURATION_H
 #define CONFIGURATION_H
 
-#include <pcre.h>
+#if HAVE_PCRE_H
+# include <pcre.h>
+#endif
 
 #include "speaker-protocol.h"
 #include "rights.h"
@@ -68,6 +70,7 @@ struct collectionlist {
   struct collection *s;
 };
 
+#if HAVE_PCRE_H
 /** @brief A track name part */
 struct namepart {
   char *part;                          /* part */
@@ -98,6 +101,7 @@ struct transformlist {
   int n;
   struct transform *t;
 };
+#endif
 
 /** @brief System configuration */
 struct config {
@@ -112,24 +116,15 @@ struct config {
   /** @brief All tracklength plugins */
   struct stringlistlist tracklength;
 
-  /** @brief Allowed users */
-  struct stringlistlist allow;
-
   /** @brief Scratch tracks */
   struct stringlist scratch;
 
-  /** @brief Gap between tracks in seconds */
-  long gap;
-
   /** @brief Maximum number of recent tracks to record in history */
   long history;
 
   /** @brief Expiry limit for noticed.db */
   long noticed_history;
   
-  /** @brief Trusted users */
-  struct stringlist trust;
-
   /** @brief User for server to run as */
   const char *user;
 
@@ -157,17 +152,12 @@ struct config {
   /** @brief Mixer channel to use */
   char *channel;
 
-  long prefsync;                       /* preflog sync interval */
-
   /** @brief Secondary listen address */
   struct netaddress listen;
 
   /** @brief Alias format string */
   const char *alias;
 
-  /** @brief Enable server locking */
-  int lock;
-
   /** @brief Nice value for server */
   long nice_server;
 
@@ -195,8 +185,10 @@ struct config {
   /** @brief Maximum lifetime of a playlist lock */
   long playlist_lock_timeout;
 
+#if !_WIN32
   /** @brief Home directory for state files */
   const char *home;
+#endif
 
   /** @brief Login username */
   char *username;
@@ -222,30 +214,25 @@ struct config {
   /** @brief Minimum refresh interval for web interface (seconds) */
   long refresh_min;
 
-  /** @brief Facilities restricted to trusted users
-   *
-   * A bitmap of @ref RESTRICT_SCRATCH, @ref RESTRICT_REMOVE and @ref
-   * RESTRICT_MOVE.
-   */
-  unsigned restrictions;               /* restrictions */
-#define RESTRICT_SCRATCH 1             /**< Restrict scratching */
-#define RESTRICT_REMOVE 2              /**< Restrict removal */
-#define RESTRICT_MOVE 4                        /**< Restrict rearrangement */
-
   /** @brief Target queue length */
   long queue_pad;
 
   /** @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;
 
   /** @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;
@@ -301,6 +288,9 @@ struct config {
   /** @brief Rescan on (un)mount */
   int mount_rescan;
 
+  /** @brief RTP mode */
+  const char *rtp_mode;
+
   /* derived values: */
   int nparts;                          /* number of distinct name parts */
   char **parts;                                /* name part list  */