Teamcenter C++ API Reference  2312
Variant.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, Variant
12  Filename: Variant.hxx
13  Module: ps
14  @BMIDE autogenerated
15 ==================================================================================================*/
16 
17 #ifndef TEAMCENTER__VARIANT__HXX
18 #define TEAMCENTER__VARIANT__HXX
19 
20 #include <vector>
21 #include <unidefs.h>
22 #include <common/tc_deprecation_macros.h>
23 #include <tccore/POM_object.hxx>
24 
25 #include <ps/libps_exports.h>
26 
27 namespace Teamcenter
28 {
29  class Variant;
30 }
31 namespace Teamcenter
32 {
33  class VariantImpl;
34 }
35 namespace Teamcenter
36 {
37  class VariantDelegate;
38 }
39 namespace Teamcenter
40 {
41  class VariantDispatch;
42 }
43 namespace Teamcenter
44 {
45  class VariantGenImpl;
46 }
47 namespace Teamcenter
48 {
49  class RootObjectImpl;
50 }
51 
52 class PS_API Teamcenter::Variant
54 {
55 public:
56 
61  static const std::string& getInterfaceName();
62 
63 
71  int getFnd0comparison_mode( int &value, bool &isNull ) const;
72 
80  int getFnd0has_free_form_values( bool &value, bool &isNull ) const;
81 
89  int getFnd0is_discretionary( bool &value, bool &isNull ) const;
90 
98  int getFnd0is_model_family( bool &value, bool &isNull ) const;
99 
107  int getFnd0is_multi_select( bool &value, bool &isNull ) const;
108 
116  int getFnd0optionValues( std::vector< std::string > &values, std::vector< int > &isNull ) const;
117 
125  int getFnd0uom( tag_t &value, bool &isNull ) const;
126 
134  int setFnd0uom( const tag_t &value, bool isNull=false );
135 protected:
136  // Method to initialize
137  virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
138 
142  Variant();
143 
147  virtual ~Variant();
148 
149 private:
150  // Getter method for the Implementation Object
151  VariantImpl* getVariantImpl() const;
152  // Setter method for the Implementation Object
153  ::Teamcenter::RootObjectImpl* setVariantImpl( ::Teamcenter::RootObjectImpl* impl );
154 
155  // Method to set the delete impl boolean
156  void setDeleteImpl( bool del );
157 
158  // Pointer to the Implementation object
159  VariantImpl* m_variantImpl;
160 
161  // Flag to indicate if Implementation object needs to be deleted
163 
167  static std::string name;
168 
173  Variant( const Variant& );
174  Variant& operator=( const Variant& );
175 
176  friend class VariantDelegate;
177  friend class VariantGenImpl;
178 };
179 
180 #include <ps/libps_undef.h>
181 #endif // TEAMCENTER__VARIANT__HXX