aboutsummaryrefslogtreecommitdiff
path: root/bindings/mono
diff options
context:
space:
mode:
authorCody Russell <crussell@canonical.com>2010-01-11 22:59:17 -0600
committerCody Russell <crussell@canonical.com>2010-01-11 22:59:17 -0600
commitaf45b19e657e5652c534d8019e1f6a374cbfcc4d (patch)
treee7d92ecd300a406165bbb17922456ac5e487473f /bindings/mono
parentbebf56594d9250ca07aaa13370674fa9b47abd89 (diff)
downloadlibayatana-appindicator-af45b19e657e5652c534d8019e1f6a374cbfcc4d.tar.gz
libayatana-appindicator-af45b19e657e5652c534d8019e1f6a374cbfcc4d.tar.bz2
libayatana-appindicator-af45b19e657e5652c534d8019e1f6a374cbfcc4d.zip
Mono binding fixes.
Diffstat (limited to 'bindings/mono')
-rw-r--r--bindings/mono/ApplicationIndicator.custom26
-rw-r--r--bindings/mono/Makefile.am21
-rw-r--r--bindings/mono/libappindicator-api.metadata14
3 files changed, 46 insertions, 15 deletions
diff --git a/bindings/mono/ApplicationIndicator.custom b/bindings/mono/ApplicationIndicator.custom
new file mode 100644
index 0000000..11d16a8
--- /dev/null
+++ b/bindings/mono/ApplicationIndicator.custom
@@ -0,0 +1,26 @@
+[DllImport ("libappindicator.so.0")]
+static extern int app_indicator_get_status (IntPtr i);
+
+[DllImport ("libappindicator.so.0")]
+static extern int app_indicator_get_category (IntPtr i);
+
+[DllImport ("libappindicator.so.0")]
+static extern void app_indicator_set_status (IntPtr i, int s);
+
+ [GLib.Property ("status")]
+ public Status Status {
+ get {
+ return (Status) app_indicator_get_status (Handle);
+ }
+
+ set {
+ app_indicator_set_status (Handle, (int) value);
+ }
+ }
+
+ [GLib.Property ("category")]
+ public Category Category {
+ get {
+ return (Category) app_indicator_get_category (Handle);
+ }
+ } \ No newline at end of file
diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am
index 54e0b53..eb6545b 100644
--- a/bindings/mono/Makefile.am
+++ b/bindings/mono/Makefile.am
@@ -17,13 +17,15 @@ assembly_DATA = $(TARGET)
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb generated-stamp generated/*.cs $(API) $(RAW_API) $(TEST)
DISTCLEANFILES = $(ASSEMBLY).config
TEST_SOURCES = TestIndicator.cs
-EXTRA_DIST = \
- $(RAW_API) \
- $(METADATA) \
- appindicator-sharp-0.1.pc.in \
- appindicator-sharp.dll.config.in \
- app-indicator.sources.xml \
- $(ASSEMBLY_NAME).snk \
+customs = ApplicationIndicator.custom
+EXTRA_DIST = \
+ $(RAW_API) \
+ $(METADATA) \
+ appindicator-sharp-0.1.pc.in \
+ appindicator-sharp.dll.config.in \
+ app-indicator.sources.xml \
+ $(ASSEMBLY_NAME).snk \
+ $(customs) \
$(TEST_SOURCES)
GACUTIL_FLAGS="-package $(ASSEMBLY_NAME) -root $(DESTDIR)$(prefix)/lib"
@@ -63,9 +65,12 @@ $(API): $(MIDDLE_API) Makefile.am
api_includes = $(GTK_SHARP_CFLAGS)
-generated-stamp: $(API)
+build_customs = $(addprefix $(srcdir)/, $(customs))
+
+generated-stamp: $(API) $(build_customs)
rm -f generated/* && \
$(GAPI_CODEGEN) --generate $(API) $(api_includes) \
+ --customdir=$(srcdir) \
--outdir=generated --assembly-name=$(ASSEMBLY_NAME) \
&& touch generated-stamp
diff --git a/bindings/mono/libappindicator-api.metadata b/bindings/mono/libappindicator-api.metadata
index 1537c68..86f0f26 100644
--- a/bindings/mono/libappindicator-api.metadata
+++ b/bindings/mono/libappindicator-api.metadata
@@ -6,26 +6,26 @@
<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='id']" name="name">ID</attr>
- <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='category']" name="name">Category</attr>
- <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='category']" name="type">AppIndicatorCategory</attr>
- <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='status']" name="name">Status</attr>
- <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='status']" name="type">AppIndicatorStatus</attr>
+ <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="hidden"></attr>
+ <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="hidden"></attr>
+ <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="hidden"></attr>
+ <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="hidden"></attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='icon-name']" name="name">IconName</attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='attention-icon-name']" name="name">AttentionIconName</attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='menu']" name="name">Menu</attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='menu']" name="type">GtkMenu*</attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='connected']" name="name">Connected</attr>
<attr path="/api/namespace/object[@cname='AppIndicator']/method[@name='SetMenu']" name="name">SetMenu</attr>
-
+
<remove-node path="/api/namespace/object/method[@cname='app_indicator_get_id']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_get_status']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_get_icon']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_get_category']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_get_attention_icon']" />
-
+
<remove-node path="/api/namespace/object/method[@cname='app_indicator_set_id']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_set_status']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_set_icon']" />
<remove-node path="/api/namespace/object/method[@cname='app_indicator_set_category']" />
- <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_attention_icon']" />
+ <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_attention_icon']" />
</metadata>