Documents > BPS V2 C++ API
bpsfieldvalidator.h
Go to the documentation of this file.
00001 
00004 #ifndef BPSFIELDVALIDATOR_H
00005 #define BPSFIELDVALIDATOR_H
00006 
00007 #include "bpscore_global.h"
00008 #include <QVariant>
00009 
00010 class BpsDatastore;
00011 
00015 class BPSCORE_EXPORT BpsFieldValidator
00016 {
00017     BPS_PRIVATE(BpsFieldValidator)
00018 
00019 public:
00023     enum Status {
00024         StatusOK,               
00025         StatusMissing,          
00026         StatusInvalid,          
00027         StatusDuplicate,        
00028         StatusBadRef,           
00029         StatusNotPositive,      
00030         StatusUnknown           
00031     };
00032 
00037     BpsFieldValidator(BpsDatastore* aDatastore, const QString& aTable);
00038 
00039     ~BpsFieldValidator();
00040 
00048     bool checkInsert(const QVariantMap& aValues);
00049 
00057     bool checkUpdate(const QVariantMap& aValues);
00058 
00066     bool checkDelete(const QVariantMap& aValues);
00067 
00071     Status lastStatus() const;
00072 
00076     QString lastColumn() const;
00077 
00083     virtual QString message(Status aStatus);
00084 };
00085 
00086 #endif // BPSFIELDVALIDATOR_H