]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/fileconf.h
Add missing RemoveHandler
[wxWidgets.git] / interface / wx / fileconf.h
index cdef167a0070de34d65c35eb9513f00b75749d44..14ea2df11f765a6dbe89f98061d969acef4b5628 100644 (file)
@@ -3,12 +3,11 @@
 // Purpose:     interface of wxFileConfig
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxFileConfig
-    @wxheader{fileconf.h}
 
     wxFileConfig implements wxConfigBase interface for
     storing and retrieving configuration information using plain text files. The
     Windows.
 
     @library{wxbase}
-    @category{misc}
+    @category{cfg}
 
     @see wxFileConfig::Save
 */
 class wxFileConfig : public wxConfigBase
 {
 public:
+    /**
+        Constructor allowing to choose the file names to use.
+
+        If @a localFilename and/or @a globalFilename are explicitly specified,
+        they are used as the names of the user and system-wide configuration
+        files (the latter is only read by the program while the former is read
+        from and written to). Otherwise the behaviour depends on @a style
+        parameter. If it includes ::wxCONFIG_USE_LOCAL_FILE, then the local
+        file name is constructed from the information in @a appName and @a
+        vendorName arguments in a system-dependent way. If
+        ::wxCONFIG_USE_GLOBAL_FILE is not specified at all (and @a
+        globalFilename is empty) then the system-wide file is not used at all.
+        Otherwise its name and path are also constructed in the way appropriate
+        for the current platform from the application and vendor names.
+     */
+    wxFileConfig(const wxString& appName = wxEmptyString,
+               const wxString& vendorName = wxEmptyString,
+               const wxString& localFilename = wxEmptyString,
+               const wxString& globalFilename = wxEmptyString,
+               long style = wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_GLOBAL_FILE,
+               const wxMBConv& conv = wxConvAuto());
+
     /**
         Read the config data from the specified stream instead of the associated file,
         as usual.
@@ -58,6 +79,9 @@ public:
     */
     static wxFileName GetLocalFile(const wxString& basename, int style = 0);
 
+    static wxString GetGlobalFileName(const wxString& szFile);
+    static wxString GetLocalFileName(const wxString& szFile, int style = 0);
+
     /**
         Saves all config data to the given stream, returns @true if data was saved
         successfully or @false on error.
@@ -70,7 +94,7 @@ public:
 
         @see wxConfigBase::Flush
     */
-    bool Save(wxOutputStream& os, const wxMBConv& conv = wxConvAuto());
+    virtual bool Save(wxOutputStream& os, const wxMBConv& conv = wxConvAuto());
 
     /**
         Allows to set the mode to be used for the config file creation. For example, to
@@ -82,5 +106,29 @@ public:
         @see wxCHANGE_UMASK()
     */
     void SetUmask(int mode);
+    
+  // implement inherited pure virtual functions
+  virtual void SetPath(const wxString& strPath);
+  virtual const wxString& GetPath() const;
+
+  virtual bool GetFirstGroup(wxString& str, long& lIndex) const;
+  virtual bool GetNextGroup (wxString& str, long& lIndex) const;
+  virtual bool GetFirstEntry(wxString& str, long& lIndex) const;
+  virtual bool GetNextEntry (wxString& str, long& lIndex) 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 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 = true);
+  virtual bool DeleteGroup(const wxString& szKey);
+  virtual bool DeleteAll();
 };