Teamcenter C++ API Reference  2312
Assignment.hxx
Go to the documentation of this file.
1 // Copyright 2022 Siemens Digital Industries Software
2 // ==================================================
3 // Copyright 2017.
4 // Siemens Product Lifecycle Management Software Inc.
5 // All Rights Reserved.
6 // ==================================================
7 // Copyright 2022 Siemens Digital Industries Software
8 
9 
10 #ifndef TEAMCENTER_ASSIGNMENT_HXX
11 #define TEAMCENTER_ASSIGNMENT_HXX
12 
13 #include <unidefs.h>
14 #include <vector>
15 #include <set>
16 #include <map>
18 #include <Mpr0process/libmpr0process_exports.h>
19 
20 namespace Teamcenter
21 {
22  namespace Mpr0Process
23  {
24  class Assignment;
25  }
26 }
27 
28 class MPR0PROCESS_API Teamcenter::Mpr0Process::Assignment
29 {
30 public:
31 
33  {
34  std::vector<tag_t> objectsToAssign;
35  tag_t assignTo;
36  std::string assignmentType;
37  };
38 
40  {
41  std::vector<std::pair<tag_t, std::string> > objectsToUnassign;
42  tag_t unassignFrom;
43  };
44 
46  {
48  tag_t unassignFrom;
49  tag_t assignTo;
50  std::string currentAssignmentType;
51  std::string newAssignmentType;
52  };
53 
55  {
58  std::string currentAssignmentType;
59  std::string newAssignmentType;
60  };
61 
63  {
65  std::map<tag_t, std::set<std::string> > assignmentInfo;
67  };
68 
69  static int assignObjects(const std::vector<AssignObjectData>& input, std::vector <Mpr0ErrorInfo>& errors);
70  static int unassignObjects(const std::vector<UnassignObjectsData> &input, std::vector <Mpr0ErrorInfo> &errors);
71  static int reassignObjects(const std::vector<ReassignObjectData> &input, std::vector <Mpr0ErrorInfo> &errors);
72  static int updateAssignments(const std::vector<UpdateAssignmentData> &input, std::vector <Mpr0ErrorInfo> &errors);
73  static int getAssignments(const std::vector<tag_t> &input, std::vector<GetAssignmentsOutput> &output);
74 };
75 
76 #include <Mpr0process/libmpr0process_undef.h>
77 #endif //TEAMCENTER_ASSIGNMENT_HXX