Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00041 #ifndef __vtkKWEXMLArchiveReader_h
00042 #define __vtkKWEXMLArchiveReader_h
00043
00044 #include "vtkKWESerializer.h"
00045 #include "VTKEdgeConfigure.h"
00046
00047
00048 class vtkKWEXMLElement;
00049 struct vtkKWEXMLArchiveReaderInternals;
00050
00051
00052 class VTKEdge_IO_EXPORT vtkKWEXMLArchiveReader : public vtkKWESerializer
00053 {
00054 public:
00055 static vtkKWEXMLArchiveReader *New();
00056 vtkTypeRevisionMacro(vtkKWEXMLArchiveReader,vtkKWESerializer);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00058
00061 virtual bool IsWriting() {return false;}
00062
00064
00067 virtual void Serialize(istream& istr, const char* rootName,
00068 vtkstd::vector<vtkSmartPointer<vtkObject> >& objs);
00070
00072
00076 virtual void Serialize(vtkKWEXMLElement *rootElement, const char* rootName,
00077 vtkstd::vector<vtkSmartPointer<vtkObject> >& objs);
00079
00081 virtual void Serialize(const char* name, int& val);
00082
00084 virtual void Serialize(const char* name, int*& val, unsigned int& length);
00085
00087 virtual void Serialize(const char* name, unsigned long& val) ;
00088
00090 virtual void Serialize(const char* name, unsigned long*& val, unsigned int& length);
00091
00093
00094 #if defined(VTK_USE_64BIT_IDS)
00095 virtual void Serialize(const char* name, vtkIdType& val);
00096 #endif
00097
00098
00100
00101 #if defined(VTK_USE_64BIT_IDS)
00102 virtual void Serialize(const char* name, vtkIdType*& val, unsigned int& length);
00103 #endif
00104
00105
00107 virtual void Serialize(const char* name, double& val);
00108
00110 virtual void Serialize(const char* name, double*& val, unsigned int& length);
00111
00113 virtual void Serialize(const char* name, char*& str);
00114
00116 virtual void Serialize(const char* name, vtkstd::string& str);
00117
00120 virtual void Serialize(const char* name, vtkObject*& obj, bool weakPtr = false);
00121
00124 virtual void Serialize(const char* name, vtkInformation* info);
00125
00127
00128 virtual void Serialize(const char* name,
00129 vtkstd::vector<vtkSmartPointer<vtkObject> >& objs,
00130 bool weakPtr = false);
00132
00134
00135 virtual void Serialize(const char* name,
00136 vtkstd::map<int, vtkstd::vector<vtkSmartPointer<vtkObject> > >& objs);
00138
00139 protected:
00140 vtkKWEXMLArchiveReader();
00141 ~vtkKWEXMLArchiveReader();
00142
00143 private:
00144 vtkKWEXMLArchiveReader(const vtkKWEXMLArchiveReader&);
00145 void operator=(const vtkKWEXMLArchiveReader&);
00146
00147 void Serialize(vtkstd::vector<vtkSmartPointer<vtkObject> >& objs);
00148 int ParseStream(istream& str);
00149 vtkKWEXMLElement* RootElement;
00150
00152 vtkObject* ReadObject(int id, bool weakPtr);
00153
00156 virtual void Serialize(vtkKWEXMLElement* elem, vtkInformation* info);
00157
00158
00159 void SetRootElement(vtkKWEXMLElement* re);
00160
00161 vtkKWEXMLArchiveReaderInternals* Internal;
00162 };
00163
00164 #endif