Salome HOME
Construction elements are auxiliary entities:
[modules/shaper.git] / src / ExchangePlugin / ExchangePlugin_Validators.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        SketchPlugin_Validators.h
4 // Created:     01 Aug 2014
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef EXCHANGEPLUGIN_VALIDATORS_H
8 #define EXCHANGEPLUGIN_VALIDATORS_H
9
10 #include "ExchangePlugin.h"
11 #include <ModelAPI_AttributeValidator.h>
12
13 /**\class ExchangePlugin_ImportFormatValidator
14  * \ingroup Validators
15  * \brief Validator for the imported formats checking
16  *
17  * The configuration file of import/export features contains the information
18  * about which formats are supported and the extension of the associated files.
19  * This validator filters out files that are out of this description.
20  */
21 class ExchangePlugin_ImportFormatValidator : public ModelAPI_AttributeValidator
22 {
23   /**
24    * Parses input arguments "BREP:BREPImport", "STEP:STEPImport"
25    * into list of file formats "BREP","STEP"
26    * and list of corresponding plugins: "BREPImport", "STEPImport"
27    */
28   static bool parseFormats(const std::list<std::string>& theArguments,
29                              std::list<std::string>& outFormats);
30 public:
31   /**
32    * Returns true is the file-name attribute correctly corresponds to the set of
33    * allowed formats.
34    */
35   virtual bool isValid(const AttributePtr& theAttribute,
36                        const std::list<std::string>& theArguments) const;
37
38
39
40 };
41
42 #endif