00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00052 #ifndef __vtkRowQuery_h
00053 #define __vtkRowQuery_h
00054 
00055 #include "vtkObject.h"
00056 
00057 class vtkVariant;
00058 class vtkVariantArray;
00059 
00060 class VTK_IO_EXPORT vtkRowQuery : public vtkObject
00061 {
00062 public:
00063   vtkTypeRevisionMacro(vtkRowQuery, vtkObject);
00064   void PrintSelf(ostream& os, vtkIndent indent);
00065 
00068   virtual bool Execute() = 0;
00069 
00071   virtual int GetNumberOfFields() = 0;
00072 
00074   virtual const char* GetFieldName(int i) = 0;
00075 
00078   virtual int GetFieldType(int i) = 0;
00079 
00082   int GetFieldIndex(char* name);
00083 
00085   virtual bool NextRow() = 0;
00086 
00090   virtual bool IsActive() = 0;
00091 
00092 
00095   bool NextRow(vtkVariantArray* rowArray);
00096 
00098   virtual vtkVariant DataValue(vtkIdType c) = 0;
00099 
00100 
00102   virtual bool HasError() = 0;
00103   
00105   virtual const char* GetLastErrorText() = 0;
00106 
00108 
00113   vtkSetMacro(CaseSensitiveFieldNames, bool);
00114   vtkGetMacro(CaseSensitiveFieldNames, bool);
00115   vtkBooleanMacro(CaseSensitiveFieldNames, bool);
00117 
00118 protected:
00119   vtkRowQuery();
00120   ~vtkRowQuery();
00121   bool CaseSensitiveFieldNames;
00122 private:
00123   vtkRowQuery(const vtkRowQuery &); 
00124   void operator=(const vtkRowQuery &); 
00125 };
00126 
00127 #endif // __vtkRowQuery_h
00128