]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/objstrm.h
applied patch 103575 (more efficient wxString comparison)
[wxWidgets.git] / include / wx / objstrm.h
index f7e7f58d6f017cc4a61472852cc616361fe38ac5..8d1970df1f10435d6568aac693c0731a91c563ac 100644 (file)
@@ -8,14 +8,17 @@
 // Copyright:   (c) 1998 Guilhem Lavaux
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
-#ifndef __WXOBJSTRM_H__
-#define __WXOBJSTRM_H__
+#ifndef _WX_WXOBJSTRM_H__
+#define _WX_WXOBJSTRM_H__
 
 #ifdef __GNUG__
 #pragma interface
 #endif
 
 #include "wx/defs.h"
+
+#if wxUSE_STREAMS && wxUSE_SERIAL
+
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/stream.h"
@@ -27,6 +30,7 @@ class wxObjectStreamInfo : public wxObject {
   wxList children;
   wxObjectStreamInfo *parent;
   wxObject *object;
+  bool duplicate, recall;
 };
 
 class wxObjectOutputStream : public wxFilterOutputStream {
@@ -49,13 +53,18 @@ class wxObjectOutputStream : public wxFilterOutputStream {
   int m_stage;
   bool m_saving;
   wxObjectStreamInfo *m_current_info;
+  wxList m_saved_objs;
 };
 
 class wxObjectInputStream : public wxFilterInputStream {
  public:
   wxObjectInputStream(wxInputStream& s);
 
+  bool SecondCall() const { return m_secondcall; }
+  void Recall(bool on = TRUE) { m_current_info->recall = on; }
+
   wxObject *GetChild(int no) const;
+  wxObject *GetChild();
   int NumberOfChildren() const { return m_current_info->n_children; }
   void RemoveChildren(int nb);
   wxObject *GetParent() const;
@@ -69,8 +78,13 @@ class wxObjectInputStream : public wxFilterInputStream {
   void ProcessObjectData(wxObjectStreamInfo *info);
 
  protected:
+  bool m_secondcall;
   wxObjectStreamInfo *m_current_info;
   wxList m_solver;
 };
 
 #endif
+  // wxUSE_STREAMS && wxUSE_SERIAL
+
+#endif
+// _WX_WXOBJSTRM_H__