ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
schmgt
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
31
typedef
struct
AttributeUpdateContainer_d
32
{
33
char
*
attrName
;
34
char
*
attrValue
;
35
int
attrType
;
36
}
AttributeUpdateContainer_t
;
37
40
typedef
struct
TypedAttributeUpdateContainer_d
41
{
42
char
*
objectType
;
43
int
updatesSize
;
44
AttributeUpdateContainer_t
updates
[
NUM_OF_ATTRIBS
];
45
}
TypedAttributeUpdateContainer_t
;
46
49
typedef
struct
TaskCreateContainer_d
50
{
51
char
*
name
;
52
char
*
desc
;
53
char
*
objectType
;
54
date_t
start
;
55
date_t
finish
;
56
int
workEstimate
;
57
tag_t
parent
;
58
tag_t
prevSibling
;
59
int
otherAttributesSize
;
60
AttributeUpdateContainer_t
otherAttributes
[
NUM_OF_ATTRIBS
];
61
int
typedAttrContSize
;
62
TypedAttributeUpdateContainer_t
typedOtherAttributes
[
NUM_OF_ATTRIBS
];
63
}
TaskCreateContainer_t
;
64
65
68
typedef
struct
ObjectUpdateContainer_d
69
{
70
tag_t
object
;
71
int
updatesSize
;
72
AttributeUpdateContainer_t
updates
[
NUM_OF_ATTRIBS
];
73
int
typedUpdatesSize
;
74
TypedAttributeUpdateContainer_t
typedUpdates
[
NUM_OF_ATTRIBS
];
75
}
ObjectUpdateContainer_t
;
76
77
80
typedef
struct
MoveRequest_d
81
{
82
tag_t
task
;
83
tag_t
newParent
;
84
tag_t
prevSibling
;
85
}
MoveRequest_t
;
86
90
typedef
struct
AssignmentCreate_d
91
{
92
char
*
taskID
;
93
char
*
assigneeID
;
94
char
*
disciplineID
;
95
double
assignedPercentage
;
96
}
AssignmentCreate_t
;
97
101
typedef
struct
AssignmentUpdate_d
102
{
103
tag_t
assignment
;
104
double
assignedPercentage
;
105
}
AssignmentUpdate_t
;
106
107
111
typedef
struct
DependencyCreate_d
112
{
113
tag_t
pred_task
;
114
tag_t
succ_task
;
115
int
dep_type
;
116
int
lag_time
;
117
}
DependencyCreate_t
;
118
122
typedef
struct
DependencyUpdate_d
123
{
124
tag_t
dependency
;
125
int
new_type
;
126
int
new_lag
;
127
}
DependencyUpdate_t
;
128
129
133
typedef
struct
AddMembers_d
134
{
135
tag_t
schedule
;
136
char
*
resource_id
;
137
int
membership_level
;
138
char
*
cost
;
139
char
*
currency
;
140
}
AddMembers_t
;
141
142
147
typedef
struct
AddFixedCost_d
148
{
149
150
tag_t
scheduleTask
;
151
char
*
name
;
152
char
*
estimate
;
153
char
*
actual
;
154
char
*
currency
;
155
bool
useActual
;
156
char
*
billCode
;
159
char
*
subCode
;
174
char
*
billingType
;
176
int
accrualType
;
177
}
AddFixedCost_t
;
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