MrpCalendar

MrpCalendar

Functions

Properties

gchar * name Read / Write
gpointer project Read / Write

Signals

void calendar-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── MrpObject
        ╰── MrpCalendar

Includes

#include <libplanner/planner.h>

Description

Functions

mrp_calendar_new ()

MrpCalendar *
mrp_calendar_new (const gchar *name,
                  MrpProject *project);

Creates a new MrpCalendar. The calendar will be empty so you need to set the default week and/or override days, see mrp_calendar_set_default_days() and mrp_calendar_set_days().

Parameters

name

name of the calendar

 

project

the MrpProject that the new calendar will belong to

 

Returns

A new MrpCalendar.


mrp_calendar_copy ()

MrpCalendar *
mrp_calendar_copy (const gchar *name,
                   MrpCalendar *calendar);

Copies calendar , making the new calendar a base calendar, that does not have a parent.

Parameters

name

the name of the new calendar

 

calendar

a MrpCalendar to copy

 

Returns

a new MrpCalendar that is a copy of calendar .

[transfer full]


mrp_calendar_derive ()

MrpCalendar *
mrp_calendar_derive (const gchar *name,
                     MrpCalendar *parent);

Derives a new calendar from parent . The new calendar will inherit all properties from parent , so if no days are overridden, the calendars will be identical.

Parameters

name

the name of the new calendar

 

parent

the MrpCalendar to derive

 

Returns

a new MrpCalendar that is derived from parent .

[transfer full]


mrp_calendar_reparent ()

void
mrp_calendar_reparent (MrpCalendar *new_parent,
                       MrpCalendar *child);

Changes the parent of calendar so that it inherits new_parent , instead of its old parent.

Parameters

new_parent

the new parent

 

child

an MrpCalendar

 

mrp_calendar_remove ()

void
mrp_calendar_remove (MrpCalendar *calendar);

Removes calendar from the project. If the calendar is used by the project, a new calendar is set for the project. If the calendar has a parent, the parent is used, otherwise the first child of the root is used. For resources, the calendar is exchanged for the parent if one exists, otherwise the resource calendar is unset, so that the project default will be used.

Parameters

calendar

an MrpCalendar

 

mrp_calendar_get_name ()

const gchar *
mrp_calendar_get_name (MrpCalendar *calendar);

Retrieves the name of the calendar.

Parameters

calendar

an MrpCalendar

 

Returns

the calendar name.


mrp_calendar_set_name ()

void
mrp_calendar_set_name (MrpCalendar *calendar,
                       const gchar *name);

Sets the name of the calendar.

Parameters

calendar

an MrpCalendar

 

name

the new name

 

mrp_calendar_day_set_intervals ()

void
mrp_calendar_day_set_intervals (MrpCalendar *calendar,
                                MrpDay *day,
                                GList *intervals);

Overrides the working time for the day type day when used in calendar .

Parameters

calendar

an MrpCalendar

 

day

an MrpDay

 

intervals

list of MrpInterval to set for the specified day.

[element-type Mrp.Interval]

mrp_calendar_day_get_intervals ()

GList *
mrp_calendar_day_get_intervals (MrpCalendar *calendar,
                                MrpDay *day,
                                gboolean check_ancestors);

Retrieves the working time for the given day/calendar combination. If check_ancestors is TRUE, the calendar hierarchy is searched until a calendar that has set the working time for this day type is found. If FALSE, the returned list will be empty if there is no explicit working time set for calendar .

Parameters

calendar

an MrpCalendar

 

day

an MrpDay

 

check_ancestors

specifies if the whole calendar hierarchy should be checked

 

Returns

List of MrpInterval, specifying the working time for day .

[element-type Mrp.Interval][transfer none]


mrp_calendar_day_get_total_work ()

gint
mrp_calendar_day_get_total_work (MrpCalendar *calendar,
                                 MrpDay *day);

Calculates the total amount of work for day in calendar .

Parameters

calendar

an MrpCalendar

 

day

an MrpDay

 

Returns

the amount of work in seconds.


mrp_calendar_get_day ()

MrpDay *
mrp_calendar_get_day (MrpCalendar *calendar,
                      mrptime date,
                      gboolean check_ancestors);

Retrieves the day type for the given date and calender. If check_ancestors is TRUE, the parent and grandparent, and so on, is searched if calendar does not have an overridden day type for the specified date.

Parameters

calendar

an MrpCalendar

 

date

an mrptime

 

check_ancestors

specifies if the whole calendar hierarchy should be checked

 

Returns

An MrpDay.


mrp_calendar_get_default_day ()

MrpDay *
mrp_calendar_get_default_day (MrpCalendar *calendar,
                              gint week_day);

Retrieves the default day for calendar .

Parameters

calendar

an MrpCalendar

 

week_day

integer in the range 0 - 6, where 0 is Sunday

 

Returns

default MrpDay.


mrp_calendar_set_default_days ()

void
mrp_calendar_set_default_days (MrpCalendar *calendar,
                               gint week_day,
                               ...);

Sets days in the default week for calendar . Those are the days that are used as fallback is a date is not overridden.

Parameters

calendar

an MrpCalendar

 

week_day

integer in the range 0 - 6, where 0 is Sunday

 

...

MrpDay followed by more week day/MrpDay pairs, terminated by -1

 

mrp_calendar_set_days ()

void
mrp_calendar_set_days (MrpCalendar *calendar,
                       mrptime date,
                       ...);

Overrides specific dates in calendar , setting the type of day to use for those dates.

Parameters

calendar

an MrpCalendar

 

date

an mrptime

 

...

MrpDay followed by more mrptime/MrpDay pairs, terminated by -1

 

mrp_calendar_get_parent ()

MrpCalendar *
mrp_calendar_get_parent (MrpCalendar *calendar);

Retrieves the parent calendar of calendar . The parent is the calendar that a calendar falls back to if a date or day type is not overridden.

Parameters

calendar

an MrpCalendar

 

Returns

The parent calendar.

[transfer none]


mrp_calendar_get_children ()

GList *
mrp_calendar_get_children (MrpCalendar *calendar);

Retreives a list of the children, i.e. the calenderas that are immediately derived from calendar .

Parameters

calendar

an MrpCalendar

 

Returns

List of calendar 's children.

[element-type Mrp.Calendar][transfer none]


mrp_interval_new ()

MrpInterval *
mrp_interval_new (mrptime start,
                  mrptime end);

Creates a new MrpInterval ranging from start to end .

Parameters

start

an mrptime specifying the start of the interval

 

end

an mrptime specifying the end of the interval

 

Returns

The newly created interval.


mrp_interval_copy ()

MrpInterval *
mrp_interval_copy (MrpInterval *interval);

Copies interval .

Parameters

interval

an MrpInterval

 

Returns

The copied interval.


mrp_interval_ref ()

MrpInterval *
mrp_interval_ref (MrpInterval *interval);

Increases the reference count on interval .

Parameters

interval

an MrpInterval

 

Returns

The interval.


mrp_interval_unref ()

void
mrp_interval_unref (MrpInterval *interval);

Decreases the reference count on interval . When the count goes to 0, the interval is freed.

Parameters

interval

an MrpInterval

 

mrp_interval_get_absolute ()

void
mrp_interval_get_absolute (MrpInterval *interval,
                           mrptime offset,
                           mrptime *start,
                           mrptime *end);

Retrieves the start and end time of interval, with an optional offset .

Parameters

interval

an MrpInterval

 

offset

the offset to add to start and end

 

start

location to store start time, or NULL

 

end

location to store end time, or NULL

 

Types and Values

MrpCalendarPriv

typedef struct _MrpCalendarPriv MrpCalendarPriv;

struct MrpCalendar

struct MrpCalendar;

MrpInterval

typedef struct _MrpInterval MrpInterval;

Property Details

The “name” property

  “name”                     gchar *

The name of the calendar.

Owner: MrpCalendar

Flags: Read / Write

Default value: "empty"


The “project” property

  “project”                  gpointer

The project this calendar belongs to.

Owner: MrpCalendar

Flags: Read / Write

Signal Details

The “calendar-changed” signal

void
user_function (MrpCalendar *mrpcalendar,
               gpointer     user_data)

Flags: Run Last