summaryrefslogtreecommitdiff
path: root/ACE/apps/JAWS3/jaws3/Config_File.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/Config_File.h')
-rw-r--r--ACE/apps/JAWS3/jaws3/Config_File.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/ACE/apps/JAWS3/jaws3/Config_File.h b/ACE/apps/JAWS3/jaws3/Config_File.h
new file mode 100644
index 00000000000..aab87c502ca
--- /dev/null
+++ b/ACE/apps/JAWS3/jaws3/Config_File.h
@@ -0,0 +1,73 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_CONFIG_FILE_H
+#define JAWS_CONFIG_FILE_H
+
+#include "jaws3/Export.h"
+
+class JAWS_Config_File;
+class JAWS_Config_File_Impl;
+
+class JAWS_Export JAWS_Config_File
+// = TITLE
+// A simple configuration file manager.
+//
+// = DESCRIPTION
+// Reads in a configuration file. The syntax of the configuration
+// file is:
+// = BEGIN<CODE>
+// <configuration-file> := <configuration-seq>
+//
+// <configuration-seq> := <configuration-line> [<configuration-seq>]
+//
+// <configuration-line> := <name-value-pair-line>
+// | <comment-line>
+//
+// <name-value-pair-line> := <name> '=' <value-line>
+//
+// <name> := <char-seq>
+//
+// <value-line> := [<char-seq>] <LF> [<continuation-seq>]
+//
+// <continuation-seq> := <continuation-line> [<continuation-seq>]
+//
+// <continuation-line> := <LWSP> [<char-seq>] <LF>
+//
+// <comment-line> := [<comment>] <LF>
+//
+// <comment> := '#' <char-seq>
+//
+// <char-seq> := <char> [<char-seq>]
+// = END<CODE>
+// No <configuration-line> is to exceed 4094 characters.
+{
+public:
+
+ // = Initialization
+
+ JAWS_Config_File (const ACE_TCHAR *config_file,
+ const ACE_TCHAR *config_dir = "./");
+ // Parse the specified <config_file> in the <config_dir>.
+
+ // = Searching
+
+ int find (const ACE_TCHAR *key, const ACE_TCHAR *&value);
+ // Find the <value> associated with <key>.
+
+public:
+
+ void reset (void);
+ // Re-read the configuration file.
+
+ void dump (void);
+ // Dump the values of all configuration variables.
+
+private:
+
+ JAWS_Config_File_Impl *impl_;
+ // Opaque implementation.
+
+};
+
+#endif /* JAWS_CONFIG_FILE_H */