Teamcenter C++ API Reference  2312
Att0ParametersManagment.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
14 #ifndef ATT0PARAMETERMANAGEMENT_HXX
15 #define ATT0PARAMETERMANAGEMENT_HXX
16 
17 #include <vector>
18 
19 #include <string>
20 
21 #include <map>
22 
23 #include <unidefs.h>
24 
26 #include <Att0attrtargetmgmt/libatt0attrtargetmgmt_exports.h>
27 
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41 
42  // Property Name Value map
43  typedef std::map<std::string, std::vector<std::string>> NameValuesMap;
44 
49  {
55 
60  {
66 
70  typedef struct ATT0_file_properties_s
71  {
72  std::string clientId;
73  tag_t dataset;
74  std::string fileName;
75  std::string description;
76  std::string namedReference;
77  std::string type;
79 
84  {
85  bool toCreate;
86  tag_t measureValue;
87  std::string method;
88  std::map<std::string, std::vector<std::string>> propValues;
90 
95  {
96  bool toCreate;
97  tag_t measureValue;
98  std::string method;
99  std::map<std::string, std::vector<std::string>> propValues;
100  std::vector<ATT0_file_properties_t> valueFileInputs;
102 
107  {
108  tag_t dataset;
109  std::string fileName;
110  std::string fileTicket;
112 
117  {
121 
126  {
132 
137  {
142 
146  typedef struct ATT0_objective_data_s
147  {
149  tag_t objectiveTag;
150  std::string objectiveType;
152  NameValuesMap objectiveProps;
154 
159  {
160  tag_t objectiveTag;
161  int errorCode = 0;
162  std::string errorMessage = "";
164 
168  typedef struct ATT0_parameter_data_s
169  {
170  tag_t parameter;
171  int type;
172  std::string paramDirection;
173  std::map<std::string, tag_t> relatedObjects;
174  bool isVisible;
175  std::vector<ATT0_parameter_file_data_t> goalFiles;
177 
181  typedef struct ATT0_param_properties_s
182  {
183  std::string clientId;
185  std::string paramDirection;
186  std::vector<ATT0_file_properties_t> goalFileInputs;
188 
193  {
194  std::string clientId;
195  std::vector<ATT0_param_properties_t> parameters;
196  tag_t parent;
198 
203  {
204  std::string clientId;
205  tag_t parent;
206  std::vector<ATT0_parameter_data_t> createdParamData;
208 
213  {
214  std::string clientId;
215  bool isNewParam;
216  tag_t parameter;
218  std::string paramDirection;
219  NameValuesMap paramProps;
220  std::vector<ATT0_file_properties_t> goalFileInputs;
221  std::vector<ATT0_measurevalue_data_input_t> valueInputs;
223 
228  {
229  tag_t measureValue;
230  std::string method;
231  std::vector<ATT0_parameter_file_data_t> valueFiles;
233 
238  {
239  std::string clientId;
240  tag_t parameter;
241  std::string paramDirection;
242  NameValuesMap paramProps;
243  std::vector<ATT0_file_properties_t> goalFileInputs;
244  std::vector<ATT0_measurevalue_data_input_t> valueInputs;
246 
251  {
252  std::string clientId;
253  std::vector<ATT0_update_param_properties_t> parameters;
254  tag_t parent;
256 
260  typedef struct ATT0_table_cell_s
261  {
262  int index;
263  std::map<std::string, std::string> cell_values;
265 
269  typedef struct ATT0_table_row_s
270  {
271  int index;
272  std::vector<ATT0_table_cell_t> cells;
274 
279  {
280  std::vector<int> indexes;
281  std::string title;
282  std::string unit_symbol;
283  tag_t unit;
284  std::string data_type;
286 
290  typedef struct ATT0_complex_data_s
291  {
292  std::vector<ATT0_table_header_data_t> column_headers;
293  std::vector<ATT0_table_header_data_t> row_headers;
294  std::vector<ATT0_table_row_t> rows;
295  std::string table_row_title;
296  std::string table_column_title;
297  std::vector<std::string> free_text;
299 
304  {
305  std::string operation;
306  std::string file_ticket;
307  std::string json_string;
310 
314  typedef struct ATT0_value_table_data_s
315  {
316  std::string operation;
317  std::string file_ticket;
318  std::string json_string;
319  std::vector<ATT0_table_row_t> rows;
321 
326  {
327  bool to_create;
329  std::string method;
330  std::map<std::string, std::vector<std::string>> prop_values;
331  std::vector<ATT0_file_properties_t> value_file_inputs;
334 
339  {
340  std::string client_id;
341  tag_t parameter;
342  std::string param_direction;
343  NameValuesMap param_props;
344  std::vector<ATT0_file_properties_t> goal_file_inputs;
345  std::vector<ATT0_measurevalue_data_input2_t> value_inputs;
348 
353  {
354  std::string client_id;
355  std::vector<ATT0_update_param_properties2_t> parameters;
356  tag_t parent;
358 
363  {
364  std::string clientId;
367  std::vector<ATT0_measure_value_data_t> retMeasureValues;
369 
374  {
375  std::string clientId;
376  tag_t parent;
377  std::vector<ATT0_update_param_output_data_t> updateParamData;
379 
384  {
385  std::string Id;
386  std::vector<ATT0_param_properties_data_t> paramDataInfoList;
387  tag_t parent;
389 
394  {
395  std::string clientId;
396  int errorCode;
397  std::string errorMessage;
399 
404  {
405  tag_t variant_rule;
410 
415  {
416  std::string method;
417  tag_t measureValue;
419 
423  typedef struct ATT0_sort_criteria_s
424  {
425  std::string propertyName;
426  std::string sortDirection;
428 
433  {
435  tag_t targetParam;
436  NameValuesMap revisePropInput;
439 
444  {
445  tag_t parentObj;
446  std::vector<tag_t> oldParams;
447  std::vector<tag_t> newParams;
448  std::vector<tag_t> ignoredParams;
450 
455  {
456  std::string currentValueTableJson;
457  std::string goalTableJson;
459 
464  {
465  std::string application;
466  std::string parameterDirection;
467  std::map<std::string, std::string> options;
470 
475  {
476  std::string clientId;
477  std::vector<tag_t> parentBVRs;
478  std::vector<tag_t> revisions;
479  std::vector<std::string> occThreadChains;
481  std::vector<tag_t> variantRules;
482  tag_t revisionRule;
485 
490  {
491  tag_t parameter;
492  tag_t contextInfo;
494  tag_t revRule;
497 
502  {
503  tag_t parameter;
504  std::string paramDirection;
505  tag_t revRule;
506  std::vector<tag_t> variantRules;
509 
514  {
515  std::string clientId;
516  std::map<std::string, std::vector<ATT0_overridden_structure_params_t>> overriddenParams;
517  std::map<std::string, std::vector<ATT0_source_structure_params_t>> sourceParameters;
519 
524  {
525  std::vector<ATT0_get_structure_params_output_t> outputs;
527 
532  {
536 
548  extern ATT0ATTRTARGETMGMT_API int ATT0_create_parameters(
549  const std::vector<ATT0_create_params_input_t>& createParameterInputs,
550  std::vector<ATT0_create_params_output_t>& createParamOutput,
551  std::vector<ATT0_param_validation_result_t>& validationResults
552  );
553 
564  extern ATT0ATTRTARGETMGMT_API int ATT0_create_or_update_measurevalue(
565  const tag_t parent_object,
566  const tag_t parameter,
567  ATT0_measurevalue_input_t& value_input,
568  tag_t& ret_parameter,
569  tag_t& ret_measuredvalue
570  );
571 
586  extern ATT0ATTRTARGETMGMT_API int ATT0_update_parameters2(
587  const std::vector<ATT0_update_params_input2_t>& update_parameters_input,
588  std::vector<ATT0_update_param_output_t>& update_param_output,
589  std::vector<ATT0_param_validation_result_t>& validation_results
590  );
591 
599  extern ATT0ATTRTARGETMGMT_API int ATT0_set_parameters_direction(
600  const tag_t parent,
601  const std::vector<tag_t>& parameters,
602  const std::string& direction,
603  std::vector<tag_t>& updatedParams,
604  std::vector<tag_t>& ignoredParams,
605  std::vector<ATT0_param_validation_result_t>& validationResults
606  );
607 
618  extern ATT0ATTRTARGETMGMT_API int ATT0_attach_parameters(
619  tag_t parentObj,
620  const std::vector<tag_t>& parameters,
621  const bool isCopy,
622  const std::string& paramDirection,
623  std::vector<ATT0_attach_param_output_t>& attachedParams,
624  std::vector<tag_t>& ignoredParams,
625  std::vector<ATT0_param_validation_result_t>& validationResults
626  );
627 
635  extern ATT0ATTRTARGETMGMT_API int ATT0_get_latestMeasureValue(
636  const std::vector<tag_t>& parameters,
637  std::vector<std::string>& methods,
638  std::map<tag_t, std::vector<ATT0_Measure_Value_Info_t>>& paramValues_Map
639  );
640 
650  extern ATT0ATTRTARGETMGMT_API int ATT0_saveas_parameters(
651  const std::vector<tag_t>& parameters,
652  const bool isOverride,
653  const ATT0_parameter_copy_measurement_t copyMeasurement,
654  std::map<tag_t, tag_t>& copiedParameters
655  );
656 
670  extern ATT0ATTRTARGETMGMT_API int ATT0_replace_parameters(
671  const std::vector<tag_t>& parent_objects,
672  const std::vector<ATT0_replace_param_input_t>& replace_inputs,
673  std::vector<ATT0_replace_param_output_t>& replace_outputs
674  );
675 
684  extern ATT0ATTRTARGETMGMT_API int ATT0_get_parameters_for_structureData(
685  const std::vector<ATT0_get_structure_params_input_t>& getStructureParam_inputs,
687  ATT0_get_structure_params_response_t& getStructureParams_response
688  );
689 
698  extern ATT0ATTRTARGETMGMT_API int ATT0_get_objectives(
699  const std::vector<tag_t>& affectedObjects,
700  std::map<tag_t, tag_t>& affectedToObjectiveMap
701  );
702 
712  extern ATT0ATTRTARGETMGMT_API int ATT0_set_objectives(
713  const std::vector<ATT0_objective_data_t>& objectiveData,
714  std::vector<ATT0_objective_output_data_t>& objectiveOutputData
716  );
717 
726  extern ATT0ATTRTARGETMGMT_API int ATT0_get_parameters_bulk2(
727  const std::vector<tag_t>& parent_Objects,
728  const std::string& direciton,
729  const std::string& application,
730  const bool goalFileRequired,
731  std::map<tag_t, std::vector<ATT0_parameter_data_t>>& parameters_map
732  );
733 
734 #ifdef __cplusplus
735 }
736 #endif
737 
742 #include <Att0attrtargetmgmt/libatt0attrtargetmgmt_undef.h>
743 #endif