]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xtistrm.h
another DMC build fix (http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/93155)
[wxWidgets.git] / include / wx / xtistrm.h
index c6dbcddfe365af1d64c6715ecde63e8a17e7e63c..0f62e428c747ebab1f39ed7e339938e02f4e7a7c 100644 (file)
@@ -39,12 +39,14 @@ Main interfaces for streaming out objects.
 // 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 ; }
 
@@ -74,7 +76,7 @@ class WXDLLIMPEXP_BASE wxWriter : public wxObject
 {
 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)) ;
@@ -148,7 +150,7 @@ private :
 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
@@ -159,7 +161,7 @@ class WXDLLIMPEXP_BASE wxReader : public wxObject
 {
 public :
     wxReader() ;
-    ~wxReader() ;
+    virtual ~wxReader() ;
 
     // the only thing wxReader knows about is the class info by object ID
     wxClassInfo *GetObjectClassInfo(int objectID) ;
@@ -186,6 +188,8 @@ private :
 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;
 
@@ -343,7 +347,7 @@ an object into a C++ initialization function. this will move to
 a utility lib soon
 */
 
-class WXDLLIMPEXP_BASE wxTextOutputStream ;
+class WXDLLIMPEXP_FWD_BASE wxTextOutputStream ;
 
 class WXDLLIMPEXP_BASE wxCodeDepersister : public wxDepersister
 {