00001 //============================================================================= 00002 // This file is part of VTKEdge. See vtkedge.org for more information. 00003 // 00004 // Copyright (c) 2010 Kitware, Inc. 00005 // 00006 // VTKEdge may be used under the terms of the BSD License 00007 // Please see the file Copyright.txt in the root directory of 00008 // VTKEdge for further information. 00009 // 00010 // Alternatively, you may see: 00011 // 00012 // http://www.vtkedge.org/vtkedge/project/license.html 00013 // 00014 // 00015 // For custom extensions, consulting services, or training for 00016 // this or any other Kitware supported open source project, please 00017 // contact Kitware at sales@kitware.com. 00018 // 00019 // 00020 //============================================================================= 00040 #ifndef __vtkKWESerializationHelperMap_h 00041 #define __vtkKWESerializationHelperMap_h 00042 00043 #include "vtkObject.h" 00044 #include "VTKEdgeConfigure.h" // include configuration header 00045 00046 class vtkKWESerializationHelper; 00047 class vtkKWESerializer; 00048 class vtkKWEXMLElement; 00049 00050 class VTKEdge_IO_EXPORT vtkKWESerializationHelperMap : public vtkObject 00051 { 00052 public: 00053 static vtkKWESerializationHelperMap *New(); 00054 vtkTypeRevisionMacro(vtkKWESerializationHelperMap,vtkObject); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00059 static void InstantiateDefaultHelpers(); 00060 00062 00063 static void RegisterHelperForClass(const char *classType, 00064 vtkKWESerializationHelper* helper); 00066 00068 00070 static void UnRegisterHelperForClass(const char *classType, 00071 vtkKWESerializationHelper* helper); 00073 00076 static int Serialize(vtkObject *obj, vtkKWESerializer *serializer); 00077 00081 static const char *GetSerializationType(vtkObject *object); 00082 00085 static bool IsSerializable(vtkObject *obj); 00086 00089 static vtkKWESerializationHelper* GetHelper(const char *classType); 00090 00092 static void RemoveAllHelpers(); 00093 00094 protected: 00095 vtkKWESerializationHelperMap(); 00096 ~vtkKWESerializationHelperMap(); 00097 00098 private: 00099 vtkKWESerializationHelperMap(const vtkKWESerializationHelperMap&); // Not implemented. 00100 void operator=(const vtkKWESerializationHelperMap&); // Not implemented. 00101 00102 static bool DefaultHelpersInstantiated; 00103 }; 00104 00105 #endif
1.7.1