summaryrefslogtreecommitdiff
path: root/ace/Configuration.h
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2001-01-14 22:55:55 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2001-01-14 22:55:55 +0000
commitfbc77e98107da51eeeac7399053a7744cfbf5e53 (patch)
tree851532444b740a4e5b2839fbae87a020be8503fa /ace/Configuration.h
parent014e89200e8ca020d460096802f1ac0993151c93 (diff)
downloadATCD-fbc77e98107da51eeeac7399053a7744cfbf5e53.tar.gz
ChangeLogTag:Sun Jan 14 16:53:11 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
Diffstat (limited to 'ace/Configuration.h')
-rw-r--r--ace/Configuration.h31
1 files changed, 21 insertions, 10 deletions
diff --git a/ace/Configuration.h b/ace/Configuration.h
index 0a6702901ea..3139c136348 100644
--- a/ace/Configuration.h
+++ b/ace/Configuration.h
@@ -6,7 +6,7 @@
*
* $Id$
*
- * @author Chris Hafey <chris@stentorsoft.com>
+ * @author Chris Hafey <chafey@stentor.com>
*
* The ACE configuration API provides a portable abstraction for
* program configuration. The API supports a tree based hierarchy
@@ -14,6 +14,15 @@
* or values. Values may contain string, unsigned integer and
* binary data.
*
+ * @todo
+ * - Redo the import/export mechanism to support different file formats
+ * - Add locking for thread safety.
+ * - Need to investigate what happens if memory mapped file gets mapped to
+ * a location different than it was created with.
+ * - Add dynamic buffer when importing. currently it will not allow
+ * importing of values greater than a fixed ammount (4096 bytes)
+ * - Replace unsigned int with a type that is fixed accross platforms.
+ *
*/
//=============================================================================
@@ -50,13 +59,6 @@
* Implementations subclass this base class to represent a
* section key.
*
- * @todo
- * - Add locking for thread safety.
- * - Need to investigate what happens if memory mapped file gets mapped to
- * a location different than it was created with.
- * - Add dynamic buffer when importing. currently it will not allow
- * importing of values greater than a fixed ammount (4096 bytes)
- * - Replace unsigned int with a type that is fixed accross platforms.
*
*/
class ACE_Export ACE_Section_Key_Internal
@@ -247,14 +249,22 @@ public:
ACE_Configuration_Section_Key& key_out,
int create = 1);
+
/// Exports the configuration database to filename. If <filename> is
- /// alredy present, it is overwritten.
+ /// alredy present, it is overwritten. * See note below
virtual int export_config (const ACE_TCHAR* filename);
/// Imports the configuration database from filename. Any existing
- /// data is not removed.
+ /// data is not removed. * See note below
virtual int import_config (const ACE_TCHAR* filename);
+ // Note - The above import/export routines have the following bugs/limitations
+ // 1) Strings with embedded newlines cause the import to fail
+ // 2) Strings with embedded quotes " cause the import to fail
+ // 3) Importing/exporting for values in the root section does not work
+ // If you are interested in working on this, please let me know and we can
+ // discuss the details. chafey@stentor.com
+
protected:
/// Default ctor
ACE_Configuration (void);
@@ -722,6 +732,7 @@ private:
ACE_Allocator *allocator_;
SECTION_MAP *index_;
int default_map_size_;
+ int persistent_;
};
#include "ace/post.h"