## ZeitgeistSubject ZeitgeistSubject — Subject objects abstract Zeitgeist subjects |

## Functions

GVariant * | zeitgeist_subject_to_variant ()
gboolean | zeitgeist_subject_matches_template ()
ZeitgeistSubject * | zeitgeist_subject_new_full ()
ZeitgeistSubject * | zeitgeist_subject_new_move_event ()
ZeitgeistSubject * | zeitgeist_subject_new_from_variant ()
ZeitgeistSubject * | zeitgeist_subject_new ()
const gchar * | zeitgeist_subject_get_uri ()
void | zeitgeist_subject_set_uri ()
const gchar * | zeitgeist_subject_get_origin ()
void | zeitgeist_subject_set_origin ()
const gchar * | zeitgeist_subject_get_text ()
void | zeitgeist_subject_set_text ()
const gchar * | zeitgeist_subject_get_storage ()
void | zeitgeist_subject_set_storage ()
const gchar * | zeitgeist_subject_get_current_uri ()
void | zeitgeist_subject_set_current_uri ()
const gchar * | zeitgeist_subject_get_current_origin ()
void | zeitgeist_subject_set_current_origin ()
const gchar * | zeitgeist_subject_get_mimetype ()
void | zeitgeist_subject_set_mimetype ()
const gchar * | zeitgeist_subject_get_interpretation ()
void | zeitgeist_subject_set_interpretation ()
const gchar * | zeitgeist_subject_get_manifestation ()
void | zeitgeist_subject_set_manifestation ()

## Properties

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

## Types and Values

#define | ZEITGEIST_TYPE_SUBJECT
struct | ZeitgeistSubject
struct | ZeitgeistSubjectClass

## Object Hierarchy

        GObject
        ╰── ZeitgeistSubject

## Description

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

## Functions

### zeitgeist_subject_to_variant ()

    GVariant *
    zeitgeist_subject_to_variant (ZeitgeistSubject *self);

#### Parameters

self | the ZeitgeistSubject instance |

### zeitgeist_subject_matches_template ()

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

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`.

#### Parameters

self | the ZeitgeistSubject instance |
template_subject | . a `zeitgeist_subject_new()` . | [in]

### 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

#### Parameters

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

#### Parameters

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

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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

## Types and Values

### ZEITGEIST_TYPE_SUBJECT

    #define ZEITGEIST_TYPE_SUBJECT (zeitgeist_subject_get_type ())

The type for ZeitgeistSubject.

### 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.

#### Members

## Property Details

### The `“current-origin”` property

      “current-origin”           gchar *

current-origin.

Flags: Read / Write

Default value: NULL

### The `“current-uri”` property

      “current-uri”              gchar *

current-uri.

Flags: Read / Write

Default value: NULL

### The `“interpretation”` property

      “interpretation”           gchar *

interpretation.

Flags: Read / Write

Default value: NULL

### The `“manifestation”` property

      “manifestation”            gchar *

manifestation.

Flags: Read / Write

Default value: NULL

### The `“mimetype”` property

      “mimetype”                 gchar *

mimetype.

Flags: Read / Write

Default value: NULL

### The `“origin”` property

      “origin”                   gchar *

origin.

Flags: Read / Write

Default value: NULL

### The `“storage”` property

      “storage”                  gchar *

storage.

Flags: Read / Write

Default value: NULL

### The `“text”` property

      “text”                     gchar *

text.

Flags: Read / Write

Default value: NULL

### The `“uri”` property

      “uri”                      gchar *

uri.

Flags: Read / Write

Default value: NULL