Salome HOME
Issue #1369: moved Wire feature to new Build plug-in.
[modules/shaper.git] / src / BuildPlugin / BuildPlugin_Plugin.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 // File:        BuildPlugin_Plugin.cpp
4 // Created:     18 April 2016
5 // Author:      Dmitry Bobylev
6
7 #include "BuildPlugin_Plugin.h"
8
9 #include <ModelAPI_Session.h>
10 #include <ModelAPI_Validator.h>
11
12 #include <BuildPlugin_Wire.h>
13 #include <BuildPlugin_Validators.h>
14
15 // the only created instance of this plugin
16 static BuildPlugin_Plugin* MY_INSTANCE = new BuildPlugin_Plugin();
17
18 //=================================================================================================
19 BuildPlugin_Plugin::BuildPlugin_Plugin()
20 {
21   // Register validators.
22   SessionPtr aMgr = ModelAPI_Session::get();
23   ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
24   aFactory->registerValidator("BuildPlugin_ValidatorBaseForWire",
25                               new BuildPlugin_ValidatorBaseForWire());
26
27   // Register this plugin.
28   ModelAPI_Session::get()->registerPlugin(this);
29 }
30
31 //=================================================================================================
32 FeaturePtr BuildPlugin_Plugin::createFeature(std::string theFeatureID)
33 {
34   if (theFeatureID == BuildPlugin_Wire::ID()) {
35     return FeaturePtr(new BuildPlugin_Wire());
36   }
37
38   // Feature of such kind is not found.
39   return FeaturePtr();
40 }