diff options
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/Makefile.am | 3 | ||||
-rw-r--r-- | bindings/mono/Makefile.am | 57 | ||||
-rw-r--r-- | bindings/mono/TestIndicator.cs | 82 | ||||
-rw-r--r-- | bindings/mono/app-indicator.sources.xml | 12 | ||||
-rw-r--r-- | bindings/mono/appindicator-sharp-0.1.pc.in | 12 | ||||
-rw-r--r-- | bindings/mono/appindicator-sharp.dll.config.in | 7 | ||||
-rw-r--r-- | bindings/mono/examples/IndicatorExample.cs | 36 | ||||
-rw-r--r-- | bindings/mono/examples/Makefile.am | 12 | ||||
-rwxr-xr-x | bindings/mono/examples/indicator-example.in | 2 | ||||
-rw-r--r-- | bindings/mono/libappindicator-api.metadata | 17 | ||||
-rw-r--r-- | bindings/python/Makefile.am | 40 | ||||
-rw-r--r-- | bindings/python/__init__.py | 27 | ||||
-rw-r--r-- | bindings/python/appindicator-arg-types.py | 27 | ||||
-rw-r--r-- | bindings/python/appindicator.defs | 121 | ||||
-rw-r--r-- | bindings/python/appindicator.override | 65 | ||||
-rw-r--r-- | bindings/python/appindicatormodule.c | 49 |
16 files changed, 569 insertions, 0 deletions
diff --git a/bindings/Makefile.am b/bindings/Makefile.am new file mode 100644 index 0000000..71abb6c --- /dev/null +++ b/bindings/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = \ + mono \ + python diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am new file mode 100644 index 0000000..b03cde8 --- /dev/null +++ b/bindings/mono/Makefile.am @@ -0,0 +1,57 @@ +SUBDIRS = . examples + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = appindicator-sharp-0.1.pc + +TEST = AppIndicator.Test.dll + +API = libappindicator-api.xml +RAW_API = libappindicator-api.raw +METADATA = libappindicator-api.metadata +ASSEMBLY_NAME = appindicator-sharp +ASSEMBLY = appindicator-sharp.dll +TARGET = $(ASSEMBLY) $(ASSEMBLY).config +assemblydir = $(libdir)/appindicator-sharp +assembly_DATA = $(TARGET) +CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb generated-stamp generated/*.cs $(API) $(RAW_API) $(TEST) +DISTCLEANFILES = $(ASSEMBLY).config +EXTRA_DIST = \ + $(RAW_API) \ + $(METADATA) \ + appindicator-sharp-0.1.pc.in \ + appindicator-sharp.dll.config.in \ + app-indicator.sources.xml \ + $(TEST_SOURCES) + +TEST_SOURCES = TestIndicator.cs + +references = $(GTK_SHARP_LIBS) +test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) -r:$(ASSEMBLY) + +$(RAW_API): app-indicator.sources.xml + $(GAPI_PARSER) app-indicator.sources.xml + +$(API): $(METADATA) $(RAW_API) + cp $(srcdir)/$(RAW_API) $(API) + chmod u+w $(API) + @if test -n '$(METADATA)'; then \ + echo "$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA)"; \ + $(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA); \ + fi + +api_includes = $(GTK_SHARP_CFLAGS) + +generated-stamp: $(API) + rm -f generated/* && \ + $(GAPI_CODEGEN) --generate $(API) $(api_includes) \ + --outdir=generated --assembly-name=$(ASSEMBLY_NAME) \ + && touch generated-stamp + +$(ASSEMBLY): generated-stamp + @rm -f $(ASSEMBLY).mdb + $(CSC) $(CSFLAGS) -nowarn:0169,0612,0618 -unsafe -out:$(ASSEMBLY) -target:library $(references) $(builddir)/$(GENERATED_SOURCES) + +$(TEST): $(ASSEMBLY) $(TEST_SOURCES) + $(CSC) -out:$(TEST) -target:library $(test_references) $(srcdir)/$(TEST_SOURCES) + +all: $(TEST) diff --git a/bindings/mono/TestIndicator.cs b/bindings/mono/TestIndicator.cs new file mode 100644 index 0000000..3127342 --- /dev/null +++ b/bindings/mono/TestIndicator.cs @@ -0,0 +1,82 @@ +/* + * Copyright 2009 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Cody Russell <cody.russell@canonical.com> + */ + +using System; +using GLib; +using Gtk; +using AppIndicator; + +using NUnit.Framework; + +namespace Ayatana.AppIndicator.Test +{ + [TestFixture] + public class IndicatorTest + { + ApplicationIndicator indicator; + + private void Update () + { + while (MainContext.Pending ()) + MainContext.Iteration(true); + } + + [SetUp] + public void Init () + { + Application.Init (); + + Console.WriteLine ("Init()"); + + indicator = new ApplicationIndicator ("my-id", "my-name", Category.ApplicationStatus); + + Console.WriteLine ("Created indicator"); + + Update(); + } + + [Test] + public void TestProperties () + { + Console.WriteLine ("TestProperties()"); + + Assert.AreNotSame (indicator, null); + + Assert.AreEqual (indicator.IconName, "my-name"); + Assert.AreEqual (indicator.ID, "my-id"); + Assert.AreEqual (indicator.Status, Category.ApplicationStatus); + + Console.WriteLine ("End.."); + } + + [Test] + public void TestSetProperties () + { + Console.WriteLine ("TestSetProperties"); + + indicator.Status = Status.Attention; + indicator.AttentionIconName = "my-attention-name"; + + Assert.AreEqual (indicator.Status, Status.Attention); + Assert.AreEqual (indicator.AttentionIconName, "my-attention-name"); + + Console.WriteLine ("End.."); + } + } +}
\ No newline at end of file diff --git a/bindings/mono/app-indicator.sources.xml b/bindings/mono/app-indicator.sources.xml new file mode 100644 index 0000000..8ee8758 --- /dev/null +++ b/bindings/mono/app-indicator.sources.xml @@ -0,0 +1,12 @@ +<gapi-parser-input> + <api filename="libappindicator-api.raw"> + <library name="libappindicator.so"> + <namespace name="AppIndicator"> + <directory path="../../src/libappindicator"> + <exclude>app-indicator-enum-types.h.in</exclude> + <exclude>app-indicator-enum-types.c.in</exclude> + </directory> + </namespace> + </library> + </api> +</gapi-parser-input> diff --git a/bindings/mono/appindicator-sharp-0.1.pc.in b/bindings/mono/appindicator-sharp-0.1.pc.in new file mode 100644 index 0000000..16872ae --- /dev/null +++ b/bindings/mono/appindicator-sharp-0.1.pc.in @@ -0,0 +1,12 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +assemblies_dir=${libdir}/appindicator-sharp-0.1 + +Name: appindicator-sharp +Description: application indicators for .NET +Version: @VERSION@ +Libraries: ${assemblies_dir}/appindicator-sharp.dll ${assemblies_dir}/appindicator-sharp.dll.config +Requires: gtk-sharp-2.0 +Cflags: +Libs: -r:${assemblies_dir}/appindicator-sharp.dll diff --git a/bindings/mono/appindicator-sharp.dll.config.in b/bindings/mono/appindicator-sharp.dll.config.in new file mode 100644 index 0000000..c8caa80 --- /dev/null +++ b/bindings/mono/appindicator-sharp.dll.config.in @@ -0,0 +1,7 @@ +<configuration> + <dllmap dll="libappindicator.dll" target="libappindicator@LIB_PREFIX@.0@LIB_SUFFIX@"/> + <dllmap dll="libgtk-2.0-0.dll" target="libgtk-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/> + <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/> + <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/> + <dllmap dll="libgthread-2.0-0.dll" target="libgthread-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/> +</configuration> diff --git a/bindings/mono/examples/IndicatorExample.cs b/bindings/mono/examples/IndicatorExample.cs new file mode 100644 index 0000000..0cb72a1 --- /dev/null +++ b/bindings/mono/examples/IndicatorExample.cs @@ -0,0 +1,36 @@ +using Gtk; +using AppIndicator; + +public class IndicatorExample +{ + public static void Main () + { + Application.Init (); + + Window win = new Window ("Test"); + win.Resize (200, 200); + + Label label = new Label (); + label.Text = "Hello, world!"; + + win.Add (label); + + ApplicationIndicator indicator = new ApplicationIndicator ("my-id", + "my-name", + Category.ApplicationStatus); + + indicator.Status = Status.Attention; + + /* + Menu menu = new Menu (); + menu.Append (new MenuItem ("Foo")); + menu.Append (new MenuItem ("Bar")); + + indicator.Menu = menu; + */ + + win.ShowAll (); + + Application.Run (); + } +}
\ No newline at end of file diff --git a/bindings/mono/examples/Makefile.am b/bindings/mono/examples/Makefile.am new file mode 100644 index 0000000..b929492 --- /dev/null +++ b/bindings/mono/examples/Makefile.am @@ -0,0 +1,12 @@ +ASSEMBLY = IndicatorExample.exe +CSFILES = IndicatorExample.cs +CLEANFILES = $(ASSEMBLY) + +EXTRA_DIST = $(CSFILES) + +references = $(GTK_SHARP_LIBS) -r:$(top_builddir)/bindings/mono/appindicator-sharp.dll + +$(ASSEMBLY): $(CSFILES) Makefile.am + $(CSC) $(CSFLAGS) -out:$(ASSEMBLY) -target:exe $(references) $(srcdir)/$(CSFILES) + +all: $(ASSEMBLY) diff --git a/bindings/mono/examples/indicator-example.in b/bindings/mono/examples/indicator-example.in new file mode 100755 index 0000000..3eca155 --- /dev/null +++ b/bindings/mono/examples/indicator-example.in @@ -0,0 +1,2 @@ +#!/bin/sh +MONO_PATH=@top_builddir@/bindings/mono @top_builddir@/bindings/mono/examples/IndicatorExample.exe diff --git a/bindings/mono/libappindicator-api.metadata b/bindings/mono/libappindicator-api.metadata new file mode 100644 index 0000000..ad0ebc0 --- /dev/null +++ b/bindings/mono/libappindicator-api.metadata @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<metadata> + <attr path="/api/namespace/object[@cname='AppIndicator']" name="name">ApplicationIndicator</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='new_attention_icon']" name="name">NewAttentionIcon</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='new_status']" name="name">NewStatus</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='connection_changed']" name="name">ConnectionChanged</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='new_icon']" name="name">NewIcon</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ID_S']" name="name">ID</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="name">Category</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="name">Status</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ICON_NAME_S']" name="name">IconName</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ATTENTION_ICON_NAME_S']" name="name">AttentionIconName</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_MENU_S']" name="name">Menu</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_MENU_S']" name="type">GtkMenu*</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CONNECTED_S']" name="name">Connected</attr> + <attr path="/api/namespace/object[@cname='AppIndicator']/method[@name='SetMenu']" name="name">SetMenu</attr> +</metadata> diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am new file mode 100644 index 0000000..0b606db --- /dev/null +++ b/bindings/python/Makefile.am @@ -0,0 +1,40 @@ +defsdir = $(datadir)/pygtk/2.0/defs +defs_DATA = appindicator.defs + +#CFLAGS = -Wall -Werror +INCLUDES = \ + -I$(top_srcdir)/src \ + -DG_LOG_DOMAIN=\"appindicator-python\" \ + -DDATADIR=\"$(datadir)\" \ + -DLIBDIR=\"$(libdir)\" \ + $(APPINDICATOR_PYTHON_CFLAGS) \ + $(PYTHON_INCLUDES) + +pkgpythondir = $(pyexecdir) +pkgpyexecdir = $(pyexecdir) + +pkgappindicatordir = $(pkgpythondir)/appindicator +pkgappindicator_PYTHON = __init__.py + +appindicatordir = $(pkgpyexecdir)/appindicator +appindicator_LTLIBRARIES = _appindicator.la + +_appindicator_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_appindicator -lpyglib-2.0-python2.6 +_appindicator_la_LIBADD = $(APPINDICATOR_PYTHON_LIBS) -L$(top_builddir)/src/.libs -lappindicator +_appindicator_la_SOURCES = appindicatormodule.c +nodist__appindicator_la_SOURCES = appindicator.c + +CLEANFILES = appindicator.c +EXTRA_DIST = appindicator.override appindicator-arg-types.py $(defs_DATA) +appindicator.c: $(defs_DATA) appindicator.override + +%.c: %.defs + (cd $(srcdir) \ + && $(PYGTK_CODEGEN) \ + --register $(PYGTK_DEFSDIR)/gtk-types.defs \ + --register $(PYGTK_DEFSDIR)/gdk-types.defs \ + --load-types appindicator-arg-types.py \ + --override $*.override \ + --prefix py$* $*.defs) > gen-$*.c \ + && cp gen-$*.c $*.c \ + && rm -f gen-$*.c diff --git a/bindings/python/__init__.py b/bindings/python/__init__.py new file mode 100644 index 0000000..20e2140 --- /dev/null +++ b/bindings/python/__init__.py @@ -0,0 +1,27 @@ +# Python bindings for libappindicator. +# +# Copyright 2009 Canonical Ltd. +# +# Authors: +# Eitan Isaacson <eitan@ascender.com> +# Neil Jagdish Patel <neil.patel@canonical.com> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of either or both of the following licenses: +# +# 1) the GNU Lesser General Public License version 3, as published by the +# Free Software Foundation; and/or +# 2) the GNU Lesser General Public License version 2.1, as published by +# the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranties of +# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the applicable version of the GNU Lesser General Public +# License for more details. +# +# You should have received a copy of both the GNU Lesser General Public +# License version 3 and version 2.1 along with this program. If not, see +# <http://www.gnu.org/licenses/> + +from _appindicator import * diff --git a/bindings/python/appindicator-arg-types.py b/bindings/python/appindicator-arg-types.py new file mode 100644 index 0000000..9d74aa0 --- /dev/null +++ b/bindings/python/appindicator-arg-types.py @@ -0,0 +1,27 @@ +# Python bindings for libappindicator. +# +# Copyright 2009 Canonical Ltd. +# +# Authors: +# Eitan Isaacson <eitan@ascender.com> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of either or both of the following licenses: +# +# 1) the GNU Lesser General Public License version 3, as published by the +# Free Software Foundation; and/or +# 2) the GNU Lesser General Public License version 2.1, as published by +# the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranties of +# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the applicable version of the GNU Lesser General Public +# License for more details. +# +# You should have received a copy of both the GNU Lesser General Public +# License version 3 and version 2.1 along with this program. If not, see +# <http://www.gnu.org/licenses/> + +import argtypes + diff --git a/bindings/python/appindicator.defs b/bindings/python/appindicator.defs new file mode 100644 index 0000000..0349b64 --- /dev/null +++ b/bindings/python/appindicator.defs @@ -0,0 +1,121 @@ +;; -*- scheme -*- +; object definitions ... +(define-object Indicator + (in-module "App") + (parent "GObject") + (c-name "AppIndicator") + (gtype-id "APP_TYPE_INDICATOR") +) + +;; Enumerations and flags ... + +(define-enum IndicatorCategory + (in-module "App") + (c-name "AppIndicatorCategory") + (gtype-id "APP_INDICATOR_TYPE_INDICATOR_CATEGORY") + (values + '("application-status" "APP_INDICATOR_CATEGORY_APPLICATION_STATUS") + '("communications" "APP_INDICATOR_CATEGORY_COMMUNICATIONS") + '("system-services" "APP_INDICATOR_CATEGORY_SYSTEM_SERVICES") + '("hardware" "APP_INDICATOR_CATEGORY_HARDWARE") + '("other" "APP_INDICATOR_CATEGORY_OTHER") + ) +) + +(define-enum IndicatorStatus + (in-module "App") + (c-name "AppIndicatorStatus") + (gtype-id "APP_INDICATOR_TYPE_INDICATOR_STATUS") + (values + '("passive" "APP_INDICATOR_STATUS_PASSIVE") + '("active" "APP_INDICATOR_STATUS_ACTIVE") + '("attention" "APP_INDICATOR_STATUS_ATTENTION") + ) +) + + +;; From app-indicator.h + +(define-function app_indicator_get_type + (c-name "app_indicator_get_type") + (return-type "GType") +) + +(define-function app_indicator_new + (c-name "app_indicator_new") + (is-constructor-of "AppIndicator") + (return-type "AppIndicator*") + (parameters + '("const-gchar*" "id") + '("const-gchar*" "icon_name") + '("AppIndicatorCategory" "category") + ) +) + +(define-method set_status + (of-object "AppIndicator") + (c-name "app_indicator_set_status") + (return-type "none") + (parameters + '("AppIndicatorStatus" "status") + ) +) + +(define-method set_attention_icon + (of-object "AppIndicator") + (c-name "app_indicator_set_attention_icon") + (return-type "none") + (parameters + '("const-gchar*" "icon_name") + ) +) + +(define-method set_menu + (of-object "AppIndicator") + (c-name "app_indicator_set_menu") + (return-type "none") + (parameters + '("GtkMenu*" "menu") + ) +) + +(define-method set_icon + (of-object "AppIndicator") + (c-name "app_indicator_set_icon") + (return-type "none") + (parameters + '("const-gchar*" "icon_name") + ) +) + +(define-method get_id + (of-object "AppIndicator") + (c-name "app_indicator_get_id") + (return-type "const-gchar*") +) + +(define-method get_category + (of-object "AppIndicator") + (c-name "app_indicator_get_category") + (return-type "AppIndicatorCategory") +) + +(define-method get_status + (of-object "AppIndicator") + (c-name "app_indicator_get_status") + (return-type "AppIndicatorStatus") +) + +(define-method get_icon + (of-object "AppIndicator") + (c-name "app_indicator_get_icon") + (return-type "const-gchar*") +) + +(define-method get_attention_icon + (of-object "AppIndicator") + (c-name "app_indicator_get_attention_icon") + (return-type "const-gchar*") +) + + diff --git a/bindings/python/appindicator.override b/bindings/python/appindicator.override new file mode 100644 index 0000000..a01a9a6 --- /dev/null +++ b/bindings/python/appindicator.override @@ -0,0 +1,65 @@ +/* +Python bindings for libappindicator. + +Copyright 2009 Canonical Ltd. + +Authors: + Eitan Isaacson <eitan@ascender.com> (original) + Neil Jagdish Patel <neil.patel@canonical.com> + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR +PURPOSE. See the applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see +<http://www.gnu.org/licenses/> +*/ +%% +headers +#include <Python.h> +#include "../src/libappindicator/app-indicator.h" +#include "../src/libappindicator/app-indicator-enum-types.h" +#include <glib.h> +#include "pygobject.h" +#include "pyglib.h" +#include <pygtk/pygtk.h> + +typedef PyObject* (*to_pyobject_func) (gpointer data); + +#define APP_TYPE_INDICATOR APP_INDICATOR_TYPE + +void +_appindicator_add_constants(PyObject *module, const gchar *strip_prefix) +{ +#ifdef VERSION + PyModule_AddStringConstant(module, "__version__", VERSION); +#endif + pyg_enum_add(module, + "IndicatorCategory", + strip_prefix, + APP_INDICATOR_TYPE_INDICATOR_CATEGORY); + + pyg_enum_add(module, + "IndicatorStatus", + strip_prefix, + APP_INDICATOR_TYPE_INDICATOR_STATUS); + + if (PyErr_Occurred()) + PyErr_Print(); +} +%% +modulename appindicator +%% +import gobject.GObject as PyGObject_Type +import gtk.Menu as PyGtkMenu_Type diff --git a/bindings/python/appindicatormodule.c b/bindings/python/appindicatormodule.c new file mode 100644 index 0000000..b66639c --- /dev/null +++ b/bindings/python/appindicatormodule.c @@ -0,0 +1,49 @@ +/* +Python bindings for libappindicator. + +Copyright 2009 Canonical Ltd. + +Authors: + Eitan Isaacson <eitan@ascender.com> + Neil Jagdish Patel <neil.patel@canonical.com> + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR +PURPOSE. See the applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see +<http://www.gnu.org/licenses/> +*/ +#include <pygobject.h> + +void pyappindicator_register_classes (PyObject *d); +extern PyMethodDef pyappindicator_functions[]; + +DL_EXPORT(void) +init_appindicator(void) +{ + PyObject *m, *d; + + init_pygobject (); + + m = Py_InitModule ("_appindicator", pyappindicator_functions); + d = PyModule_GetDict (m); + + pyappindicator_register_classes (d); + + _appindicator_add_constants (m, "APP_INDICATOR_"); + if (PyErr_Occurred ()) { + Py_FatalError ("can't initialise module appindicator"); + } +} |