ITK Function Reference

(V10000.1.0.60_20160308.00)
schmgt_bridge_itk.h
Go to the documentation of this file.
1 // @<COPYRIGHT_START>@
2 // ===============================================
3 // Copyright 2011 Siemens Corp. All Rights Reserved.
4 // ===============================================
5 // @<COPYRIGHT_END>@
6 
7 
14 #ifndef SCHMGTBRIITK_H
15 #define SCHMGTBRIITK_H
16 #include <tc/tc_startup.h>
17 #include <itk/mem.h>
18 #include <schmgt_bridge/libschmgt_bridge_exports.h>
19 
20 #define RECALCULATE_EXEC 1
21 #define RECALCULATE_SCHED 2
22 #define RECALCULATE_ALL 0
23 #define NUM_OF_ATTRIBS 28
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
32 {
33  char* attrName;
34  char* attrValue;
35  int attrType;
37 
41 {
42  char* objectType;
46 
49 typedef struct TaskCreateContainer_d
50 {
51  char* name;
52  char* desc;
53  char* objectType;
64 
65 
69 {
76 
77 
80 typedef struct MoveRequest_d
81 {
86 
90 typedef struct AssignmentCreate_d
91 {
92  char* taskID;
93  char* assigneeID;
94  char* disciplineID;
97 
101 typedef struct AssignmentUpdate_d
102 {
106 
107 
111 typedef struct DependencyCreate_d
112 {
115  int dep_type;
116  int lag_time;
118 
122 typedef struct DependencyUpdate_d
123 {
125  int new_type;
126  int new_lag;
128 
129 
133 typedef struct AddMembers_d
134 {
136  char* resource_id;
138  char* cost;
139  char* currency;
140 } AddMembers_t;
141 
142 
147 typedef struct AddFixedCost_d
148 {
149 
151  char* name;
152  char* estimate;
153  char* actual;
154  char* currency;
155  bool useActual;
156  char* billCode;
159  char* subCode;
174  char* billingType;
178 
179 
183  extern SCHMGTBRI_API int SCHMGT_scale_schedule_non_interactive(
184  tag_t schedule,
185  double factor,
186  int type,
187  logical checkState,
188  int* numUpdatedTasks,
189  tag_t** updatedTasks
190  );
191 
195  extern SCHMGTBRI_API int SCHMGT_recalculate_schedule_non_interactive (
196  tag_t schedule,
197  int type,
198  logical async
199  );
200 
204  extern SCHMGTBRI_API int SCHMGT_shift_schedule_non_interactive(
205  tag_t schedule,
206  date_t newDate,
207  logical newFinish,
208  int* numUpdatedTasks,
209  tag_t** updatedTasks
210  );
211 
215  extern SCHMGTBRI_API int SCHMGT_create_tasks_non_interactive (
216  const tag_t &schedule,
217  int numCreate,
218  TaskCreateContainer_t* createInputs,
219  tag_t** createdTasks,
220  int* numUpdated,
221  tag_t** updatedTasks
222  );
223 
227  extern SCHMGTBRI_API int SCHMGT_update_tasks_non_interactive(
228  const tag_t &schedule,
229  int numTasksToUpdate,
230  ObjectUpdateContainer_t* updateInputs,
231  int *numUpdated,
232  tag_t** updatedTasks
233  );
234 
238  extern SCHMGTBRI_API int SCHMGT_move_tasks_non_interactive(
239  const tag_t &schedule,
240  int numTaskToMove,
241  MoveRequest_t* updateInputs
242  );
243 
247  extern SCHMGTBRI_API int SCHMGT_create_dependency2(
248  tag_t schedule,
249  int numCreate,
250  DependencyCreate_t* createInputs,
251  tag_t** createdDependencies,
252  int* numUpdatedTasks,
253  tag_t** updatedTasks,
254  int* numProxyCreated,
255  tag_t** createdProxies
256  );
257 
261  extern SCHMGTBRI_API int SCHMGT_create_dependency(
262  tag_t schedule,
263  int numCreate,
264  DependencyCreate_t* createInputs,
265  tag_t** createdDependencies,
266  int* numUpdatedTasks,
267  tag_t** updatedTasks
268  );
269 
273  extern SCHMGTBRI_API int SCHMGT_update_dependency(
274  tag_t schedule,
275  int numUpdate,
276  DependencyUpdate_t* updateInputs,
277  int* numUpdatedTasks,
278  tag_t** updatedTasks
279  );
280 
284  extern SCHMGTBRI_API int SCHMGT_delete_dependency(
285  tag_t schedule,
286  int numDelete,
287  tag_t** dependencies,
288  int* numUpdatedTasks,
289  tag_t** updatedTasks
290  );
291 
295  extern SCHMGTBRI_API int SCHMGT_critical_tasks(
296  tag_t schedule,
297  int* numTask,
298  tag_t** criticalTasks,
299  int* numProxyTask,
300  tag_t** criticalProxyTasks
301  );
302 
306  extern SCHMGTBRI_API int SCHMGT_launch_workflow(
307  tag_t task,
308  tag_t* epmJob
309  );
310 
314 extern SCHMGTBRI_API int SCHMGT_delete_tasks_non_interactive
315 (
316  tag_t schedule,
317  int numTasksToDelete,
318  tag_t* tasksToDelete,
319  int* numUpdatedTasks,
320  tag_t** updatedTasks,
321  int* numOrphanedTasks,
322  tag_t** orphanedTasks
323 );
324 
328  extern SCHMGTBRI_API int SCHMGT_create_assignments (
329  const tag_t &schedule,
330  int numCreate,
331  AssignmentCreate_t* createInputs,
332  int* numCreatedAssignments,
333  tag_t** createdAssignments
334  );
335 
336 
340  extern SCHMGTBRI_API int SCHMGT_update_assignments (
341  const tag_t &schedule,
342  int numUpdate,
343  AssignmentUpdate_t* updateInputs,
344  int* numUpdatedAssignments,
345  tag_t** updatedAssignments
346  );
347 
351  extern SCHMGTBRI_API int SCHMGT_delete_assignments(
352  tag_t schedule,
353  int numDelete,
354  tag_t* assignments
355  );
356 
360  extern SCHMGTBRI_API int SCHMGT_update_schedule_non_interactive(
361  ObjectUpdateContainer_t update,
362  int* numUpdatedTasks,
363  tag_t** updatedTasks
364  );
365 
369  extern SCHMGTBRI_API int SCHMGT_claim_assignment (
370  const tag_t &task,
371  const tag_t &assignment,
372  tag_t* newAssignments
373  );
374 
375 
376 
395  extern SCHMGTBRI_API int SCHMGT_add_members (
396  int num_members,
397  AddMembers_t* add_member_inputs,
398  int *invalid_input_index,
399  int *num_added_members,
400  tag_t** members
401  );
402 
403 
419  extern SCHMGTBRI_API int SCHMGT_add_fixed_cost (
420  int num_fixed_costs,
421  const AddFixedCost_t* add_fixed_cost_inputs,
422  int *invalid_input_index,
423  int *num_added_fixed_costs,
424  tag_t** added_fixed_costs
425  );
426 
436  extern SCHMGTBRI_API int SCHMGT_generate_unique_task_id(
437  char** unique_task_id
438  );
439 
440 #ifdef __cplusplus
441 }
442 #endif
443 
444 
445 #include <schmgt_bridge/libschmgt_bridge_undef.h>
446 #endif