## ZeitgeistSubject ZeitgeistSubject — Subject objects abstract Zeitgeist subjects |

## Synopsis

    #define             ZEITGEIST_TYPE_SUBJECT
    GVariant *          zeitgeist_subject_to_variant        (ZeitgeistSubject *self);
    gboolean            zeitgeist_subject_matches_template  (ZeitgeistSubject *self,
                                                             ZeitgeistSubject *template_subject);
    ZeitgeistSubject *  zeitgeist_subject_new_full          (const gchar *uri,
                                                             const gchar *interpretation,
                                                             const gchar *manifestation,
                                                             const gchar *mimetype,
                                                             const gchar *origin,
                                                             const gchar *text,
                                                             const gchar *storage);
    ZeitgeistSubject *  zeitgeist_subject_new_move_event    (const gchar *source_uri,
                                                             const gchar *source_origin,
                                                             const gchar *destination_uri,
                                                             const gchar *destination_origin,
                                                             const gchar *interpretation,
                                                             const gchar *manifestation,
                                                             const gchar *mimetype,
                                                             const gchar *text,
                                                             const gchar *storage);
    ZeitgeistSubject *  zeitgeist_subject_new_from_variant  (GVariant *subject_variant,
                                                             GError **error);
    ZeitgeistSubject *  zeitgeist_subject_new               (void);
    const gchar *       zeitgeist_subject_get_uri           (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_uri           (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_origin        (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_origin        (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_text          (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_text          (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_storage       (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_storage       (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_current_uri   (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_current_uri   (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_current_origin
                                                            (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_current_origin
                                                            (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_mimetype      (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_mimetype      (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_interpretation
                                                            (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_interpretation
                                                            (ZeitgeistSubject *self,
                                                             const gchar *value);
    const gchar *       zeitgeist_subject_get_manifestation (ZeitgeistSubject *self);
    void                zeitgeist_subject_set_manifestation (ZeitgeistSubject *self,
                                                             const gchar *value);
    struct              ZeitgeistSubject;
    struct              ZeitgeistSubjectClass;

## Object Hierarchy

      GObject
       +----ZeitgeistSubject

## Properties

      "current-origin"           gchar*                : Read / Write
      "current-uri"              gchar*                : Read / Write
      "interpretation"           gchar*                : Read / Write
      "manifestation"            gchar*                : Read / Write
      "mimetype"                 gchar*                : Read / Write
      "origin"                   gchar*                : Read / Write
      "storage"                  gchar*                : Read / Write
      "text"                     gchar*                : Read / Write
      "uri"                      gchar*                : Read / Write

## Description

In Zeitgeist terminology, a subject is something (a file, web page, person, conversation, etc.) that was somehow involved or affected by a ZeitgeistEvent.

## Details

### ZEITGEIST_TYPE_SUBJECT

    #define ZEITGEIST_TYPE_SUBJECT (zeitgeist_subject_get_type ())

The type for ZeitgeistSubject.

### zeitgeist_subject_to_variant ()

    GVariant *          zeitgeist_subject_to_variant        (ZeitgeistSubject *self);

`self` : | the ZeitgeistSubject instance

### zeitgeist_subject_matches_template ()

    gboolean            zeitgeist_subject_matches_template  (ZeitgeistSubject *self,
                                                             ZeitgeistSubject *template_subject);

`self` : | the ZeitgeistSubject instance
`template_subject` : | . a ``zeitgeist_subject_new()``. [in]
Returns : | true if this Subject matches *subject_template*. Empty fields in the template are treated as wildcards. Interpretations and manifestations are also matched if they are children of the types specified in `subject_template`.

### zeitgeist_subject_new_full ()

    ZeitgeistSubject *  zeitgeist_subject_new_full          (const gchar *uri,
                                                             const gchar *interpretation,
                                                             const gchar *manifestation,
                                                             const gchar *mimetype,
                                                             const gchar *origin,
                                                             const gchar *text,
                                                             const gchar *storage);

Create a new Subject structure with predefined data

`uri` : | . The URI or URL of the subject. [in][allow-none]
`interpretation` : | . The interpretation type of the subject. [in][allow-none]
`manifestation` : | . The manifestation type of the subject. [in][allow-none]
`mimetype` : | . The mimetype of the subject. Eg. <emphasis>text/plain</emphasis>. [in][allow-none]
`origin` : | . The origin of the subject. [in][allow-none]
`text` : | . A small textual representation of the subject suitable for display. [in][allow-none]
`storage` : | . String identifier for the storage medium the subject is on. [in][allow-none]
Returns : | A newly create ``zeitgeist_subject_new()`` instance. The returned subject will have a floating reference which will be consumed if you pass the event to any of the methods provided by this library (like adding it to an event).

### zeitgeist_subject_new_move_event ()

    ZeitgeistSubject *  zeitgeist_subject_new_move_event    (const gchar *source_uri,
                                                             const gchar *source_origin,
                                                             const gchar *destination_uri,
                                                             const gchar *destination_origin,
                                                             const gchar *interpretation,
                                                             const gchar *manifestation,
                                                             const gchar *mimetype,
                                                             const gchar *text,
                                                             const gchar *storage);

Create a new Subject structure to describe a move event

`source_uri` : | . The URI or URL of the subject. [in][allow-none]
`source_origin` : | . The URI or URL of the subject. [in][allow-none]
`destination_uri` : | . The URI or URL of the subject. [in][allow-none]
`destination_origin` : | . The URI or URL of the subject. [in][allow-none]
`interpretation` : | . The interpretation type of the subject. [in][allow-none]
`manifestation` : | . The manifestation type of the subject. [in][allow-none]
`mimetype` : | . The mimetype of the subject. Eg. <emphasis>text/plain</emphasis>. [in][allow-none]
`text` : | . A small textual representation of the subject suitable for display. [in][allow-none]
`storage` : | . String identifier for the storage medium the subject is on. [in][allow-none]
Returns : | A newly create ``zeitgeist_subject_new()`` instance. The returned subject will have a floating reference which will be consumed if you pass the event to any of the methods provided by this library (like adding it to an event).

### zeitgeist_subject_new_from_variant ()

    ZeitgeistSubject *  zeitgeist_subject_new_from_variant  (GVariant *subject_variant,
                                                             GError **error);

Create a new Subject structure from predefined GVariant data

`subject_variant` : | . A GVariant decscribing the subject data. [in]
`error` : | location to store the error occuring, or `NULL` to ignore. [error-domains ZeitgeistDataModelError]
Returns : | A newly create ``zeitgeist_subject_new()`` instance. The returned subject will have a floating reference which will be consumed if you pass the event to any of the methods provided by this library (like adding it to an event).

### zeitgeist_subject_new ()

    ZeitgeistSubject *  zeitgeist_subject_new               (void);

### zeitgeist_subject_get_uri ()

    const gchar *       zeitgeist_subject_get_uri           (ZeitgeistSubject *self);

Get and return the current value of the "uri" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "uri" property

### zeitgeist_subject_set_uri ()

    void                zeitgeist_subject_set_uri           (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "uri" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "uri" property

### zeitgeist_subject_get_origin ()

    const gchar *       zeitgeist_subject_get_origin        (ZeitgeistSubject *self);

Get and return the current value of the "origin" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "origin" property

### zeitgeist_subject_set_origin ()

    void                zeitgeist_subject_set_origin        (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "origin" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "origin" property

### zeitgeist_subject_get_text ()

    const gchar *       zeitgeist_subject_get_text          (ZeitgeistSubject *self);

Get and return the current value of the "text" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "text" property

### zeitgeist_subject_set_text ()

    void                zeitgeist_subject_set_text          (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "text" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "text" property

### zeitgeist_subject_get_storage ()

    const gchar *       zeitgeist_subject_get_storage       (ZeitgeistSubject *self);

Get and return the current value of the "storage" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "storage" property

### zeitgeist_subject_set_storage ()

    void                zeitgeist_subject_set_storage       (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "storage" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "storage" property

### zeitgeist_subject_get_current_uri ()

    const gchar *       zeitgeist_subject_get_current_uri   (ZeitgeistSubject *self);

Get and return the current value of the "current-uri" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "current-uri" property

### zeitgeist_subject_set_current_uri ()

    void                zeitgeist_subject_set_current_uri   (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "current-uri" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "current-uri" property

### zeitgeist_subject_get_current_origin ()

    const gchar *       zeitgeist_subject_get_current_origin
                                                            (ZeitgeistSubject *self);

Get and return the current value of the "current-origin" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "current-origin" property

### zeitgeist_subject_set_current_origin ()

    void                zeitgeist_subject_set_current_origin
                                                            (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "current-origin" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "current-origin" property

### zeitgeist_subject_get_mimetype ()

    const gchar *       zeitgeist_subject_get_mimetype      (ZeitgeistSubject *self);

Get and return the current value of the "mimetype" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "mimetype" property

### zeitgeist_subject_set_mimetype ()

    void                zeitgeist_subject_set_mimetype      (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "mimetype" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "mimetype" property

### zeitgeist_subject_get_interpretation ()

    const gchar *       zeitgeist_subject_get_interpretation
                                                            (ZeitgeistSubject *self);

Get and return the current value of the "interpretation" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "interpretation" property

### zeitgeist_subject_set_interpretation ()

    void                zeitgeist_subject_set_interpretation
                                                            (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "interpretation" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "interpretation" property

### zeitgeist_subject_get_manifestation ()

    const gchar *       zeitgeist_subject_get_manifestation (ZeitgeistSubject *self);

Get and return the current value of the "manifestation" property.

`self` : | the ZeitgeistSubject instance to query
Returns : | the value of the "manifestation" property

### zeitgeist_subject_set_manifestation ()

    void                zeitgeist_subject_set_manifestation (ZeitgeistSubject *self,
                                                             const gchar *value);

Set the value of the "manifestation" property to `value`.

`self` : | the ZeitgeistSubject instance to modify
`value` : | the new value of the "manifestation" property

### struct ZeitgeistSubject

    struct ZeitgeistSubject;

Subject objects abstract Zeitgeist subjects

In Zeitgeist terminology, a subject is something (a file, web page, person, conversation, etc.) that was somehow involved or affected by a ZeitgeistEvent.

### struct ZeitgeistSubjectClass

    struct ZeitgeistSubjectClass {
    	GObjectClass parent_class;
    };

The class structure for `ZEITGEIST_TYPE_SUBJECT`. All the fields in this structure are private and should never be accessed directly.

GObjectClass `parent_class`; | the parent class structure

## Property Details

### The `"current-origin"` property

      "current-origin"           gchar*                : Read / Write

current-origin.

Default value: NULL

### The `"current-uri"` property

      "current-uri"              gchar*                : Read / Write

current-uri.

Default value: NULL

### The `"interpretation"` property

      "interpretation"           gchar*                : Read / Write

interpretation.

Default value: NULL

### The `"manifestation"` property

      "manifestation"            gchar*                : Read / Write

manifestation.

Default value: NULL

### The `"mimetype"` property

      "mimetype"                 gchar*                : Read / Write

mimetype.

Default value: NULL

### The `"origin"` property

      "origin"                   gchar*                : Read / Write

origin.

Default value: NULL

### The `"storage"` property

      "storage"                  gchar*                : Read / Write

storage.

Default value: NULL

### The `"text"` property

      "text"                     gchar*                : Read / Write

text.

Default value: NULL

### The `"uri"` property

      "uri"                      gchar*                : Read / Write

uri.

Default value: NULL