## MrpApplication

MrpApplication — the main project application object.

## Functions

MrpApplication * | mrp_application_new ()
guint | mrp_application_get_unique_id ()
gpointer | mrp_application_id_get_data ()

## Types and Values

#define | MRP_TYPE_APPLICATION
struct | MrpApplicationClass
| MrpApplication

## Object Hierarchy

        GObject
        ╰── MrpApplication

## Includes

    #include <libplanner/mrp-application.h>

## Description

MrpApplication is the libplanner infrastructure. It loads GModule plug-ins, registers file readers and writers.

One must instantiate an MrpApplication to use libplanner. A sole one can be instantiated.

MrpApplication also features a unique identifier generator. `mrp_application_get_unique_id()` generates a unique id within the application.

MrpApplication is able to register pointers against an id. `mrp_application_id_get_data()` retrieves the pointer given the id. Every MrpObject registers itself this way.

## Functions

### mrp_application_new ()

    MrpApplication *
    mrp_application_new (void);

Creates a new MrpApplication.

#### Returns

the newly created application

### mrp_application_get_unique_id ()

    guint
    mrp_application_get_unique_id (void);

Returns a unique identifier in the MrpApplication namespace.

#### Returns

the unique id

### mrp_application_id_get_data ()

    gpointer
    mrp_application_id_get_data (guint object_id);

Get the object reference in the list of MrpObjects using the object_id as locator.

#### Parameters

object_id | an object id |

#### Returns

a pointer to the data

## Types and Values

### MRP_TYPE_APPLICATION

    #define MRP_TYPE_APPLICATION         (mrp_application_get_type ())

### struct MrpApplicationClass

    struct MrpApplicationClass {
    	GObjectClass        parent_class;
    };

### MrpApplication

    typedef struct _MrpApplication MrpApplication;

Object representing the application using libmrproject. You need to create an MrpApplication object to create projects and use libmrproject.