// 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"
wxList children;
wxObjectStreamInfo *parent;
wxObject *object;
+ bool duplicate, recall;
};
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;
void ProcessObjectData(wxObjectStreamInfo *info);
protected:
+ bool m_secondcall;
wxObjectStreamInfo *m_current_info;
wxList m_solver;
};
#endif
+ // wxUSE_STREAMS && wxUSE_SERIAL
+
+#endif
+// _WX_WXOBJSTRM_H__