File: data-source-stuff.vala

package info (click to toggle)
zeitgeist 1.0.4-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,440 kB
  • sloc: python: 8,116; cpp: 3,006; ansic: 1,298; sql: 1,192; makefile: 951; javascript: 753; sh: 156
file content (79 lines) | stat: -rw-r--r-- 2,192 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using Zeitgeist;

MainLoop loop;

async void do_stuff () throws Error
{
    var registry = new Zeitgeist.DataSourceRegistry ();

    registry.source_registered.connect (on_source_registered);
    registry.source_enabled.connect (on_source_enabled);

    DataSource my_data_source = new DataSource.full (
        "com.example.test/my-ds", "Example Data-Source",
        "An example data-source for testing libzeitgeist2",
        new GenericArray<Event>());

    stdout.printf ("Registering with data-source registry...\n");
    bool enabled = yield registry.register_data_source (my_data_source);
    stdout.printf ("Done. The data-source is %s.\n\n",
        (enabled) ? "enabled" : "disabled");

    stdout.printf ("Disabling the data-source...\n");
    yield registry.set_data_source_enabled (my_data_source.unique_id, false);

    yield print_data_sources (registry);

    stdout.printf ("\nEnabling it again...\n");
    yield registry.set_data_source_enabled (my_data_source.unique_id, true);

    yield print_data_sources (registry);

    loop.quit ();
}

void on_source_registered (DataSource source)
{
    stdout.printf("%s registered!\n", source.name);
}

async void on_source_enabled (string unique_id, bool enabled)
{
    var registry = new Zeitgeist.DataSourceRegistry ();
    DataSource source;
    try
    {
        source = yield registry.get_data_source_from_id (unique_id);
        stdout.printf("%s has been %s!\n", source.name,
            (enabled) ? "enabled" : "disabled");
    }
    catch (Error e)
    {
        critical ("Error retrieving data-source information: %s", e.message);
    }
}

async void print_data_sources (DataSourceRegistry registry) throws Error
{
    GenericArray<DataSource> datasources = null;
    datasources = yield registry.get_data_sources ();

    stdout.printf ("\nThe following data-sources are registered:\n");
    for (int i = 0; i < datasources.length; ++i)
    {
        DataSource datasource = datasources[i];
        stdout.printf (" - %s [%s]\n", datasource.name,
            (datasource.enabled) ? "enabled" : "disabled");
    }
}

int main ()
{
    loop = new MainLoop();

    do_stuff.begin ();

    loop.run ();

    return 0;
}