VTK
dox/Common/vtkInformationObjectBaseKey.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkInformationObjectBaseKey.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00022 #ifndef __vtkInformationObjectBaseKey_h
00023 #define __vtkInformationObjectBaseKey_h
00024 
00025 #include "vtkInformationKey.h"
00026 
00027 #include "vtkCommonInformationKeyManager.h" // Manage instances of this type.
00028 
00029 class vtkObjectBase;
00030 
00031 class VTK_COMMON_EXPORT vtkInformationObjectBaseKey : public vtkInformationKey
00032 {
00033 public:
00034   vtkTypeMacro(vtkInformationObjectBaseKey,vtkInformationKey);
00035   void PrintSelf(ostream& os, vtkIndent indent);
00036 
00037   vtkInformationObjectBaseKey(const char* name, const char* location,
00038                               const char* requiredClass=0);
00039   ~vtkInformationObjectBaseKey();
00040 
00042 
00044   void Set(vtkInformation* info, vtkObjectBase*);
00045   vtkObjectBase* Get(vtkInformation* info);
00047 
00051   virtual void ShallowCopy(vtkInformation* from, vtkInformation* to);
00052 
00054   virtual void Report(vtkInformation* info, vtkGarbageCollector* collector);
00055 
00056 protected:
00057   // The type required of all objects stored with this key.
00058   const char* RequiredClass;
00059 private:
00060   vtkInformationObjectBaseKey(const vtkInformationObjectBaseKey&);  // Not implemented.
00061   void operator=(const vtkInformationObjectBaseKey&);  // Not implemented.
00062 };
00063 
00064 #endif