]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fileconf.h
* Renamed fstream.h in wfstream.h
[wxWidgets.git] / include / wx / fileconf.h
index b7a24d77477861112a035df36adb6038c7613ff5..24b1a95902f262c5f4671ad1cbf5d9d756ba9e7a 100644 (file)
 #pragma interface "fileconf.h"
 #endif
 
+#include "wx/defs.h"
+#include "wx/textfile.h"
+#include "wx/string.h"
+
 // ----------------------------------------------------------------------------
 // compile options
 // ----------------------------------------------------------------------------
 
 // it won't compile without it anyhow
-#ifndef USE_WXCONFIG
-  #error "Please define USE_WXCONFIG or remove fileconf.cpp from your makefile"
-#endif // USE_WXCONFIG
+#ifndef wxUSE_CONFIG
+  #error "Please define wxUSE_CONFIG or remove fileconf.cpp from your makefile"
+#endif // wxUSE_CONFIG
 
 // ----------------------------------------------------------------------------
 // wxFileConfig
@@ -112,6 +116,8 @@ public:
   static wxString GetLocalFileName(const char *szFile);
 
   // ctor & dtor
+
+#if 0
     // the names of local and global (if not disabled) config files are
     // constructed using Get{Local|Global}FileName functions described above
     // (szAppName is just the (short) name of your application)
@@ -123,6 +129,14 @@ public:
     // directory). If either of strings is empty, the corresponding file is not
     // used.
   wxFileConfig(const wxString& strLocal, const wxString& strGlobal);
+#endif
+
+   // New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE
+   // or wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
+  wxFileConfig(const wxString& appName, const wxString& vendorName = "",
+               const wxString& localFilename = "", const wxString& globalFilename = "",
+               long style = wxCONFIG_USE_LOCAL_FILE);
+
     // dtor will save unsaved data
   virtual ~wxFileConfig();
 
@@ -135,25 +149,39 @@ public:
   virtual bool GetFirstEntry(wxString& str, long& lIndex) const;
   virtual bool GetNextEntry (wxString& str, long& lIndex) const;
 
-  virtual uint GetNumberOfEntries(bool bRecursive = FALSE) const;
-  virtual uint GetNumberOfGroups(bool bRecursive = FALSE) const;
+  virtual size_t GetNumberOfEntries(bool bRecursive = FALSE) const;
+  virtual size_t GetNumberOfGroups(bool bRecursive = FALSE) const;
 
   virtual bool HasGroup(const wxString& strName) const;
   virtual bool HasEntry(const wxString& strName) const;
 
-  virtual bool Read(wxString *pstr, const char *szKey,
-                    const char *szDefault = 0) const;
-  virtual const char *Read(const char *szKey,
-                           const char *szDefault = 0) const;
-  virtual bool Read(long *pl, const char *szKey, long lDefault) const;
-  virtual long Read(const char *szKey, long lDefault) const
-    { return wxConfigBase::Read(szKey, lDefault); }
-  virtual bool Write(const char *szKey, const char *szValue);
-  virtual bool Write(const char *szKey, long lValue);
+  virtual bool Read(const wxString& key, wxString *pStr) const;
+  virtual bool Read(const wxString& key, wxString *pStr, const wxString& defValue) const;
+  virtual bool Read(const wxString& key, long *pl) const;
+
+  // The following are necessary to satisfy the compiler
+  wxString Read(const wxString& key, const wxString& defVal) const
+  { return wxConfigBase::Read(key, defVal); }
+  bool Read(const wxString& key, long *pl, long defVal) const
+  { return wxConfigBase::Read(key, pl, defVal); }
+  long Read(const wxString& key, long defVal) const
+  { return wxConfigBase::Read(key, defVal); }
+  bool Read(const wxString& key, int *pi, int defVal) const
+    { return wxConfigBase::Read(key, pi, defVal); }
+  bool Read(const wxString& key, int *pi) const
+    { return wxConfigBase::Read(key, pi); }
+  bool Read(const wxString& key, double* val) const
+  { return wxConfigBase::Read(key, val); }
+  bool Read(const wxString& key, double* val, double defVal) const
+  { return wxConfigBase::Read(key, val, defVal); }
+
+  virtual bool Write(const wxString& key, const wxString& szValue);
+  virtual bool Write(const wxString& key, long lValue);
+
   virtual bool Flush(bool bCurrentOnly = FALSE);
 
-  virtual bool DeleteEntry(const char *szKey, bool bGroupIfEmptyAlso);
-  virtual bool DeleteGroup(const char *szKey);
+  virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso);
+  virtual bool DeleteGroup(const wxString& szKey);
   virtual bool DeleteAll();
 
 public:
@@ -166,8 +194,8 @@ public:
   {
   public:
     // ctor
-    LineList(const wxString& str, LineList *pNext = NULL) : m_strLine(str)
-      { SetNext(pNext); SetPrev(NULL); }
+    LineList(const wxString& str, LineList *pNext = (LineList *) NULL) : m_strLine(str)
+      { SetNext(pNext); SetPrev((LineList *) NULL); }
 
     //
     LineList *Next() const              { return m_pNext;  }