]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/objstrm.h
needed for mac port
[wxWidgets.git] / include / wx / objstrm.h
index fbe79e4503378bd5efaf4d71f6ab3ea3db3b61a2..8d1970df1f10435d6568aac693c0731a91c563ac 100644 (file)
@@ -16,6 +16,9 @@
 #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__