Teamcenter C++ API Reference  2312
VariantRuleExt.hxx
Go to the documentation of this file.
1 //Copyright 2022 Siemens Digital Industries Software
2 //==================================================
3 //Copyright $2023.
4 //Siemens Product Lifecycle Management Software Inc.
5 //All Rights Reserved.
6 //==================================================
7 //Copyright 2022 Siemens Digital Industries Software
8 
9 /*==================================================================================================
10 File description:
11  This file contains the declaration for the Business Object, VariantRule
12  Filename: VariantRuleExt.hxx
13  Module: Cfg0configurator
14  @BMIDE autogenerated
15 ==================================================================================================*/
16 
17 #ifndef CFG0__TEAMCENTER__CFG0CONFIGURATOR__VARIANTRULE__HXX
18 #define CFG0__TEAMCENTER__CFG0CONFIGURATOR__VARIANTRULE__HXX
19 
20 #include <string>
21 #include <vector>
22 #include <common/tc_deprecation_macros.h>
26 
27 #include <Cfg0configurator/libcfg0configurator_exports.h>
28 
29 namespace cfg0
30 {
31  namespace Teamcenter
32  {
33  namespace Cfg0configurator
34  {
35  class VariantRule;
36  }
37  }
38 }
39 namespace cfg0
40 {
41  namespace Teamcenter
42  {
43  namespace Cfg0configurator
44  {
45  class VariantRuleImpl;
46  }
47  }
48 }
49 namespace cfg0
50 {
51  namespace Teamcenter
52  {
53  namespace Cfg0configurator
54  {
55  class VariantRuleDelegate;
56  }
57  }
58 }
59 namespace cfg0
60 {
61  namespace Teamcenter
62  {
63  namespace Cfg0configurator
64  {
65  class VariantRuleDispatch;
66  }
67  }
68 }
69 namespace cfg0
70 {
71  namespace Teamcenter
72  {
73  namespace Cfg0configurator
74  {
75  class VariantRuleGenImpl;
76  }
77  }
78 }
79 namespace Teamcenter
80 {
81  class RootObjectImpl;
82 }
83 
84 class CFG0CONFIGURATOR_API cfg0::Teamcenter::Cfg0configurator::VariantRule
86 {
87 public:
88 
92  VariantRule( tag_t objTag );
97  static ::Teamcenter::BusinessObjectExtenderRegistry< cfg0::Teamcenter::Cfg0configurator::VariantRule >& extenderRegistry();
98 
103  static const std::string& getExtenderInterfaceName();
104 
105 
113  int getCfg0VariantCriteriaCondition( std::string &value, bool &isNull ) const;
114 
121  int getCfg0VariantCriteriaConditionDisplayableValues( std::vector< std::string > &values );
122 
130  int setCfg0VariantCriteriaCondition( const std::string &value, bool isNull=false );
131 protected:
132  // Method to initialize
133  virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
134 
135 
139  virtual ~VariantRule();
140 
141 private:
142  // Getter method for the Implementation Object
143  VariantRuleImpl* getVariantRuleImpl() const;
144  // Setter method for the Implementation Object
145  ::Teamcenter::RootObjectImpl* setVariantRuleImpl( ::Teamcenter::RootObjectImpl* impl );
146 
147  // Method to set the delete impl boolean
148  void setDeleteImpl( bool del );
149 
150  // Pointer to the Implementation object
151  VariantRuleImpl* m_variantruleImpl;
152 
153  // Flag to indicate if Implementation object needs to be deleted
155 
159  static std::string name;
160 
165  VariantRule( const VariantRule& );
166  VariantRule& operator=( const VariantRule& );
167 
168  friend class VariantRuleDelegate;
169  friend class VariantRuleGenImpl;
170 };
171 
172 #include <Cfg0configurator/libcfg0configurator_undef.h>
173 #endif // CFG0__TEAMCENTER__CFG0CONFIGURATOR__VARIANTRULE__HXX