// or modify the value before it is streamed-out.
// ----------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxWriter ;
-class WXDLLIMPEXP_BASE wxReader ;
+class WXDLLIMPEXP_FWD_BASE wxWriter ;
+class WXDLLIMPEXP_FWD_BASE wxReader ;
class WXDLLIMPEXP_BASE wxPersister
{
public :
+ virtual ~wxPersister() {}
+
// will be called before an object is written, may veto by returning false
virtual bool BeforeWriteObject( wxWriter *WXUNUSED(writer) , const wxObject *WXUNUSED(object) , const wxClassInfo *WXUNUSED(classInfo) , wxxVariantArray &WXUNUSED(metadata)) { return true ; }
{
public :
wxWriter() ;
- ~wxWriter() ;
+ virtual ~wxWriter() ;
// with this call you start writing out a new top-level object
void WriteObject(const wxObject *object, const wxClassInfo *classInfo , wxPersister *persister , const wxString &name , wxxVariantArray &WXUNUSED(metadata)) ;
Streaming callbacks for depersisting XML to code, or running objects
*/
-class WXDLLIMPEXP_BASE wxDepersister ;
+class WXDLLIMPEXP_FWD_BASE wxDepersister ;
/*
wxReader handles streaming in a class from a arbitrary format. While walking through
{
public :
wxReader() ;
- ~wxReader() ;
+ virtual ~wxReader() ;
// the only thing wxReader knows about is the class info by object ID
wxClassInfo *GetObjectClassInfo(int objectID) ;
class WXDLLIMPEXP_BASE wxDepersister
{
public :
+ virtual ~wxDepersister() {}
+
// allocate the new object on the heap, that object will have the passed in ID
virtual void AllocateObject(int objectID, wxClassInfo *classInfo, wxxVariantArray &metadata) = 0;
a utility lib soon
*/
-class WXDLLIMPEXP_BASE wxTextOutputStream ;
+class WXDLLIMPEXP_FWD_BASE wxTextOutputStream ;
class WXDLLIMPEXP_BASE wxCodeDepersister : public wxDepersister
{