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