![]() |
![]() |
![]() |
Libplanner Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <libplanner/planner.h> MrpTaskPriv; MrpTask; MrpConstraint; enum MrpConstraintType; MrpTask * mrp_task_new (void
); void mrp_task_set_name (MrpTask *task
,const gchar *name
); const gchar * mrp_task_get_name (MrpTask *task
); MrpRelation * mrp_task_add_predecessor (MrpTask *task
,MrpTask *predecessor
,MrpRelationType type
,glong lag
,GError **error
); void mrp_task_remove_predecessor (MrpTask *task
,MrpTask *predecessor
); MrpRelation * mrp_task_get_relation (MrpTask *task_a
,MrpTask *task_b
); MrpRelation * mrp_task_get_predecessor_relation (MrpTask *task
,MrpTask *predecessor
); MrpRelation * mrp_task_get_successor_relation (MrpTask *task
,MrpTask *successor
); GList * mrp_task_get_predecessor_relations (MrpTask *task
); GList * mrp_task_get_successor_relations (MrpTask *task
); gboolean mrp_task_has_relation_to (MrpTask *task_a
,MrpTask *task_b
); gboolean mrp_task_has_relation (MrpTask *task
); MrpTask * mrp_task_get_parent (MrpTask *task
); MrpTask * mrp_task_get_first_child (MrpTask *task
); MrpTask * mrp_task_get_next_sibling (MrpTask *task
); guint mrp_task_get_n_children (MrpTask *task
); MrpTask * mrp_task_get_nth_child (MrpTask *task
,guint n
); gint mrp_task_get_position (MrpTask *task
); mrptime mrp_task_get_start (MrpTask *task
); mrptime mrp_task_get_work_start (MrpTask *task
); mrptime mrp_task_get_finish (MrpTask *task
); mrptime mrp_task_get_latest_start (MrpTask *task
); mrptime mrp_task_get_latest_finish (MrpTask *task
); gint mrp_task_get_duration (MrpTask *task
); gint mrp_task_get_work (MrpTask *task
); GList * mrp_task_get_assignments (MrpTask *task
); MrpAssignment * mrp_task_get_assignment (MrpTask *task
,MrpResource *resource
); void mrp_task_reset_constraint (MrpTask *task
); gfloat mrp_task_get_cost (MrpTask *task
); GList * mrp_task_get_assigned_resources (MrpTask *task
); gint mrp_task_compare (gconstpointer a
,gconstpointer b
);
"constraint" MrpConstraint* : Read / Write "critical" gboolean : Read / Write "duration" gint : Read / Write "finish" glong : Read "latest-finish" glong : Read "latest-start" glong : Read "name" gchar* : Read / Write "note" gchar* : Read / Write "percent-complete" gint : Read / Write "priority" gint : Read / Write "sched" MrpTaskSched : Read / Write "start" glong : Read "type" MrpTaskType : Read / Write "work" gint : Read / Write
"assignment-added" :Run Last
"assignment-removed" :Run Last
"child-added" :Run Last
"child-removed" :Run Last
"relation-added" :Run Last
"relation-removed" :Run Last
"task-moved" :Run Last
typedef struct _MrpTaskPriv MrpTaskPriv;
A private struct for internal use only. The definition of this structure is not publically available.
typedef struct { MrpConstraintType type; mrptime time; } MrpConstraint;
A struct representing a scheduling constraint on a task.
typedef enum { MRP_CONSTRAINT_ASAP = 0, /* as-soon-as-possible */ MRP_CONSTRAINT_ALAP, /* as-late-as-possible */ MRP_CONSTRAINT_SNET, /* start-no-earlier-than */ MRP_CONSTRAINT_FNLT, /* finish-no-later-than */ MRP_CONSTRAINT_MSO, /* must-start-on */ } MrpConstraintType;
The type of constraint for the task. The default is MRP_CONSTRAINT_ASAP
.
MrpTask * mrp_task_new (void
);
Create a new task.
Returns : |
the newly created MrpTask. |
void mrp_task_set_name (MrpTask *task
,const gchar *name
);
Sets the name of task
.
|
an MrpResource |
|
new name of task
|
const gchar * mrp_task_get_name (MrpTask *task
);
Retrives the name of task
.
|
an MrpTask |
Returns : |
the name |
MrpRelation * mrp_task_add_predecessor (MrpTask *task
,MrpTask *predecessor
,MrpRelationType type
,glong lag
,GError **error
);
Adds a predecessor task to a task. Depending on type, the predecessor must be started or finished before task can be started or finished, with an optional lag/lead time.
void mrp_task_remove_predecessor (MrpTask *task
,MrpTask *predecessor
);
Removes a predecessor previously added to task.
|
an MrpTask |
|
the predecessor to remove |
MrpRelation * mrp_task_get_relation (MrpTask *task_a
,MrpTask *task_b
);
Fetches a relation between two tasks if it exists.
|
an MrpTask |
|
an MrpTask |
Returns : |
a MrpRelation representing the relation between task_a and
task_b or NULL if they don't have any relation. |
MrpRelation * mrp_task_get_predecessor_relation (MrpTask *task
,MrpTask *predecessor
);
Fetches a predecessor relation between task and it's predecessor.
|
an MrpTask |
|
an MrpTask |
Returns : |
the MrpRelation if it exists, otherwise NULL
|
MrpRelation * mrp_task_get_successor_relation (MrpTask *task
,MrpTask *successor
);
Fetches a successor relation between task and it's successor.
|
an MrpTask |
|
an MrpTask |
Returns : |
the MrpRelation if it exists, otherwise NULL
|
GList * mrp_task_get_predecessor_relations (MrpTask *task
);
Fetches a list of predecessor relations to task
.
|
an MrpTask |
Returns : |
the list of predecessor relations to task
|
GList * mrp_task_get_successor_relations (MrpTask *task
);
Fetches a list of successor relations to task
.
|
an MrpTask |
Returns : |
a list of successor relations to task
|
gboolean mrp_task_has_relation_to (MrpTask *task_a
,MrpTask *task_b
);
Checks if a
and b
has a relation, i.e. if a is a predecessor or successor
of b.
gboolean mrp_task_has_relation (MrpTask *task
);
Checks if a task has any relations, i.e. predecessors or successors.
MrpTask * mrp_task_get_first_child (MrpTask *task
);
Fetches the first child of task
.
MrpTask * mrp_task_get_next_sibling (MrpTask *task
);
Fetches the next sibling of task
.
guint mrp_task_get_n_children (MrpTask *task
);
Fetches the number of children task
has.
|
an MrpTask |
Returns : |
the number of children task has |
MrpTask * mrp_task_get_nth_child (MrpTask *task
,guint n
);
Fetches the nth child of task
.
gint mrp_task_get_position (MrpTask *task
);
Fetches the index or position of task
among its siblings.
|
an MrpTask |
Returns : |
the position of task among its siblings. |
mrptime mrp_task_get_start (MrpTask *task
);
Fetches the start time of task
.
|
an MrpTask |
Returns : |
the start time of task . |
mrptime mrp_task_get_work_start (MrpTask *task
);
Retrieves the first time where work is performed of task
. This might be
different from the start time, if the start time is during non-working
time. In that case, the work start would be right after the non-working
interval.
|
an MrpTask |
Returns : |
The work start time of task . |
mrptime mrp_task_get_finish (MrpTask *task
);
Fetches the finish time of task
.
|
an MrpTask |
Returns : |
the finish time of task . |
mrptime mrp_task_get_latest_start (MrpTask *task
);
Retrieves the latest start time of task
, i.e. the latest time the task can
start without delaying the project.
|
an MrpTask |
Returns : |
The latest start time of task . |
mrptime mrp_task_get_latest_finish (MrpTask *task
);
Retrieves the latest finish time of task
, i.e. the latest time the task can
finish without delaying the project.
|
an MrpTask |
Returns : |
The latest finish time of task . |
gint mrp_task_get_duration (MrpTask *task
);
Fetches the duration of task
. This differs from the calendar duration that
is retrieved by (finish - start).
|
an MrpTask |
Returns : |
The duration of task . |
gint mrp_task_get_work (MrpTask *task
);
Retrieves the amount of work of task
.
|
an MrpTask |
Returns : |
The work of task . |
GList * mrp_task_get_assignments (MrpTask *task
);
Fetches a list of MrpAssignment.
|
an MrpTask |
Returns : |
the list of assignments. |
MrpAssignment * mrp_task_get_assignment (MrpTask *task
,MrpResource *resource
);
retrieves the MrpAssignment associated with task
and resource
if the
resource is assigned to task
, or NULL
if there is no such assignment.
|
an MrpTask |
|
an MrpResource |
Returns : |
The assignment if it exists, otherwise NULL . |
void mrp_task_reset_constraint (MrpTask *task
);
Sets the contraint type to MRP_CONTRAINT_ASAP
and notifies listeners.
|
an MrpTask |
gfloat mrp_task_get_cost (MrpTask *task
);
Calculates the cost to complete task
.
|
an MrpTask |
Returns : |
The cost to complete task . |
GList * mrp_task_get_assigned_resources (MrpTask *task
);
Fetches a list of resources assigned to task
. The list needs to be freed
with g_list_free()
by caller.
|
an MrpTask |
Returns : |
A newly created list of MrpResource. |
gint mrp_task_compare (gconstpointer a
,gconstpointer b
);
Compares the name of the tasks, by calling strcmp()
on the names.
"duration"
property"duration" gint : Read / Write
Duration of the task.
Allowed values: >= G_MAXULONG
Default value: 0
"finish"
property"finish" glong : Read
Task finish time.
Allowed values: [0,2147483647]
Default value: 0
"latest-finish"
property"latest-finish" glong : Read
Latest task finish time.
Allowed values: [0,2147483647]
Default value: 0
"latest-start"
property"latest-start" glong : Read
Latest task start time.
Allowed values: [0,2147483647]
Default value: 0
"percent-complete"
property"percent-complete" gint : Read / Write
Percent completed of task.
Allowed values: [0,100]
Default value: 0
"priority"
property"priority" gint : Read / Write
Priority of the task.
Allowed values: [0,9999]
Default value: 0
"sched"
property "sched" MrpTaskSched : Read / Write
Task scheduling type.
Default value: MRP_TASK_SCHED_FIXED_WORK
"start"
property"start" glong : Read
Task Start time.
Allowed values: [0,2147483647]
Default value: 0
"type"
property "type" MrpTaskType : Read / Write
Task type.
Default value: MRP_TASK_TYPE_NORMAL
"work"
property"work" gint : Read / Write
Task work.
Allowed values: >= G_MAXULONG
Default value: 0
"assignment-added"
signalvoid user_function (MrpTask *mrptask,
MrpAssignment *arg1,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"assignment-removed"
signalvoid user_function (MrpTask *mrptask,
MrpAssignment *arg1,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"child-added"
signalvoid user_function (MrpTask *mrptask,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"child-removed"
signalvoid user_function (MrpTask *mrptask,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"relation-added"
signalvoid user_function (MrpTask *mrptask,
gpointer arg1,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"relation-removed"
signalvoid user_function (MrpTask *mrptask,
gpointer arg1,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |