![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtModelDefinitionSchemaValidator.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtModelDefinitionSchemaValidator_H_ 00014 #define DtModelDefinitionSchemaValidator_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 #include <makArchives/DtSchema.h> 00018 00019 #include <string> 00020 #include <vector> 00021 00022 namespace makVrv 00023 { 00024 class DtModelDefinition; 00025 00028 class DT_DLL_VRVCORE DtModelDefinitionSchemaValidator 00029 { 00030 public: 00031 00032 enum ErrorCodes 00033 { 00034 ParameterMissing, 00035 InvalidEnumeration, 00036 ParsingError, 00037 FileNameDoesNotExist, 00038 NotSupported, 00039 end_ErrorCodes 00040 }; 00041 00044 typedef std::pair<std::string,ErrorCodes> ErrorMessage; 00045 typedef std::vector<std::pair<std::string,ErrorCodes> > ErrorMessageList; 00046 00048 DtModelDefinitionSchemaValidator(DtDe& de); 00049 00051 ~DtModelDefinitionSchemaValidator(); 00052 00059 00060 virtual bool validate(const makArchives::DtSchemaEntry&, const DtModelDefinition& definition, ErrorMessageList& errors, 00061 bool firstErrorOnly) const; 00062 00064 makArchives::DtSchemaEntry::DtSchemaParameters missingParameters(const makArchives::DtSchemaEntry&, 00065 const DtModelDefinition& definition) const; 00066 00067 00068 protected: 00069 DtDe& myDe; 00070 }; 00071 } 00072 00073 #endif 00074