]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fileconf.h
Added display sample to distrib file lists
[wxWidgets.git] / include / wx / fileconf.h
index c2cf0404b1072c49b1a32f8fffccac333963b367..f836f08c8f1de8425326f7675b0fecbd610c6e20 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef   _FILECONF_H
 #define   _FILECONF_H
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "fileconf.h"
 #endif
 
@@ -95,6 +95,7 @@
 class WXDLLEXPORT wxFileConfigGroup;
 class WXDLLEXPORT wxFileConfigEntry;
 class WXDLLEXPORT wxFileConfigLineList;
+class WXDLLEXPORT wxInputStream;
 
 class WXDLLEXPORT wxFileConfig : public wxConfigBase
 {
@@ -119,7 +120,14 @@ public:
                const wxString& vendorName = wxT(""),
                const wxString& localFilename = wxT(""),
                const wxString& globalFilename = wxT(""),
-               long style = wxCONFIG_USE_LOCAL_FILE);
+               long style = wxCONFIG_USE_LOCAL_FILE,
+               wxMBConv& conv = wxConvUTF8);
+
+#if wxUSE_STREAMS
+    // ctor that takes an input stream.
+  wxFileConfig(wxInputStream &inStream,
+               wxMBConv& conv = wxConvUTF8);
+#endif // wxUSE_STREAMS
 
     // dtor will save unsaved data
   virtual ~wxFileConfig();
@@ -147,45 +155,12 @@ public:
   virtual bool HasGroup(const wxString& strName) const;
   virtual bool HasEntry(const wxString& strName) const;
 
-  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); }
-  bool Read(const wxString& key, bool* val) const
-    { return wxConfigBase::Read(key, val); }
-  bool Read(const wxString& key, bool* val, bool 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);
-  bool Write(const wxString& key, double value)
-    { return wxConfigBase::Write(key, value); }
-  bool Write(const wxString& key, bool value)
-    { return wxConfigBase::Write(key, value); }
-  bool Write(const wxString& key, const wxChar* value)
-    { return wxConfigBase::Write(key, value); }
-
   virtual bool Flush(bool bCurrentOnly = FALSE);
 
   virtual bool RenameEntry(const wxString& oldName, const wxString& newName);
   virtual bool RenameGroup(const wxString& oldName, const wxString& newName);
 
-  virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso);
+  virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso = TRUE);
   virtual bool DeleteGroup(const wxString& szKey);
   virtual bool DeleteAll();
 
@@ -197,6 +172,13 @@ public:
   void      LineListRemove(wxFileConfigLineList *pLine);
   bool      LineListIsEmpty();
 
+protected:
+  virtual bool DoReadString(const wxString& key, wxString *pStr) const;
+  virtual bool DoReadLong(const wxString& key, long *pl) const;
+
+  virtual bool DoWriteString(const wxString& key, const wxString& szValue);
+  virtual bool DoWriteLong(const wxString& key, long lValue);
+
 private:
   // GetXXXFileName helpers: return ('/' terminated) directory names
   static wxString GetGlobalDir();
@@ -210,7 +192,7 @@ private:
   void CleanUp();
 
   // parse the whole file
-  void Parse(wxTextFile& file, bool bLocal);
+  void Parse(wxTextBuffer& buffer, bool bLocal);
 
   // the same as SetPath("/")
   void SetRootPath();
@@ -227,9 +209,13 @@ private:
   wxFileConfigGroup *m_pRootGroup,      // the top (unnamed) group
                     *m_pCurrentGroup;   // the current group
 
+  wxMBConv   &m_conv;
+        
 #ifdef __UNIX__
   int m_umask;                    // the umask to use for file creation
 #endif // __UNIX__
+
+    DECLARE_NO_COPY_CLASS(wxFileConfig)
 };
 
 #endif