Back to index

libindicate  12.10.0
listener-private.h
Go to the documentation of this file.
00001 /*
00002 A library to allow applictions to provide simple indications of
00003 information to be displayed to users of the application through the
00004 interface shell.
00005 
00006 Copyright 2009 Canonical Ltd.
00007 
00008 Authors:
00009     Ted Gould <ted@canonical.com>
00010 
00011 This program is free software: you can redistribute it and/or modify it 
00012 under the terms of either or both of the following licenses:
00013 
00014 1) the GNU Lesser General Public License version 3, as published by the 
00015 Free Software Foundation; and/or
00016 2) the GNU Lesser General Public License version 2.1, as published by 
00017 the Free Software Foundation.
00018 
00019 This program is distributed in the hope that it will be useful, but 
00020 WITHOUT ANY WARRANTY; without even the implied warranties of 
00021 MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 
00022 PURPOSE.  See the applicable version of the GNU Lesser General Public 
00023 License for more details.
00024 
00025 You should have received a copy of both the GNU Lesser General Public 
00026 License version 3 and version 2.1 along with this program.  If not, see 
00027 <http://www.gnu.org/licenses/>
00028 */
00029 
00030 #ifndef INDICATE_LISTENER_PRIVATE_H__ 
00031 #define INDICATE_LISTENER_PRIVATE_H__ 1
00032 
00033 #include <glib.h>
00034 #include <gio/gio.h>
00035 
00036 struct _IndicateListenerServer {
00037        gchar * name;
00038        GDBusProxy * proxy;
00039        GDBusConnection * connection;
00040        gboolean interests[INDICATE_INTEREST_LAST];
00041        gint max_indicators;
00042 };
00043 
00044 struct _IndicateListenerIndicator {
00045        guint id;
00046 };
00047 
00048 typedef struct _IndicateListenerPrivate IndicateListenerPrivate;
00049 struct _IndicateListenerPrivate
00050 {
00051        GDBusConnection * session_bus;
00052        guint object_registration;
00053        guint signal_subscription;
00054 
00055        GList * proxies;
00056 
00057        GArray * proxy_todo;
00058        guint todo_idle;
00059 
00060        gint max_indicators;
00061 };
00062 
00063 #define INDICATE_LISTENER_GET_PRIVATE(o) \
00064               (G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATE_TYPE_LISTENER, IndicateListenerPrivate))
00065 
00066 #endif /* INDICATE_LISTENER_PRIVATE_H__ */