X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34138703c3997ce676a1e713d9ff9eb020640da7..9cf99fc093f9c45b6b5d8d8b357699d826c9916a:/include/wx/objstrm.h diff --git a/include/wx/objstrm.h b/include/wx/objstrm.h index fbe79e4503..8d1970df1f 100644 --- a/include/wx/objstrm.h +++ b/include/wx/objstrm.h @@ -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__