Author: abock
Date: 2006-05-25 11:57:02 -0400 (Thu, 25 May 2006)
New Revision: 61115
Modified:
branches/abock/gstreamer-sharp/ChangeLog
branches/abock/gstreamer-sharp/gstreamer-sharp/Bin.custom
branches/abock/gstreamer-sharp/gstreamer-sharp/Gstreamer.metadata
branches/abock/gstreamer-sharp/tests/BinTest.cs
Log:
2006-05-25 Aaron Bockover <[EMAIL PROTECTED]>
* gstreamer-sharp/Gstreamer.metadata: Hide the Children property and
implement own version in Bin.custom to return an Element [] instead of
a GLib.List
* gstreamer-sharp/Bin.custom: Implement Bin.Children
* tests/BinTest.cs: wrote a test for Bin.Children
Modified: branches/abock/gstreamer-sharp/ChangeLog
===================================================================
--- branches/abock/gstreamer-sharp/ChangeLog 2006-05-25 15:51:27 UTC (rev
61114)
+++ branches/abock/gstreamer-sharp/ChangeLog 2006-05-25 15:57:02 UTC (rev
61115)
@@ -1,5 +1,15 @@
2006-05-25 Aaron Bockover <[EMAIL PROTECTED]>
+ * gstreamer-sharp/Gstreamer.metadata: Hide the Children property and
+ implement own version in Bin.custom to return an Element [] instead of
+ a GLib.List
+
+ * gstreamer-sharp/Bin.custom: Implement Bin.Children
+
+ * tests/BinTest.cs: wrote a test for Bin.Children
+
+2006-05-25 Aaron Bockover <[EMAIL PROTECTED]>
+
* gstreamer-sharp-0.10.pc.in: link against proper assembly
2006-05-21 Aaron Bockover <[EMAIL PROTECTED]>
Modified: branches/abock/gstreamer-sharp/gstreamer-sharp/Bin.custom
===================================================================
--- branches/abock/gstreamer-sharp/gstreamer-sharp/Bin.custom 2006-05-25
15:51:27 UTC (rev 61114)
+++ branches/abock/gstreamer-sharp/gstreamer-sharp/Bin.custom 2006-05-25
15:57:02 UTC (rev 61115)
@@ -1,13 +1,10 @@
- /*[DllImport ("gstreamersharpglue-0.10")]
+ [DllImport ("gstreamersharpglue-0.10")]
private extern static uint gstsharp_gst_bin_get_children_offset();
- static uint children_offset = gstsharp_gst_bin_get_children_offset();*/
+ static uint children_offset = gstsharp_gst_bin_get_children_offset();
- /* TODO: This needs to be called 'Children' and the default version
- needs to be hidden (see Gstreamer.metadata) */
-
- public Element [] List {
+ public Element [] Children {
get {
GLib.List list;
Modified: branches/abock/gstreamer-sharp/gstreamer-sharp/Gstreamer.metadata
===================================================================
--- branches/abock/gstreamer-sharp/gstreamer-sharp/Gstreamer.metadata
2006-05-25 15:51:27 UTC (rev 61114)
+++ branches/abock/gstreamer-sharp/gstreamer-sharp/Gstreamer.metadata
2006-05-25 15:57:02 UTC (rev 61115)
@@ -3,10 +3,10 @@
<attr path="/api/namespace/[EMAIL PROTECTED]'Bin']"
name="disable_gtype_ctor">1</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'Pipeline']"
name="disable_gtype_ctor">1</attr>
- <!-- TODO: Why doesn't this work? -->
- <attr path="/api/namespace/[EMAIL PROTECTED]'Bin']/[EMAIL
PROTECTED]'Children']" name="hidden">1</attr>
- <attr path="/api/namespace/[EMAIL PROTECTED]'Bin']/[EMAIL
PROTECTED]'ChildrenCount']" name="name">ChildCount</attr>
-
+
+ <attr path="/api/namespace/[EMAIL PROTECTED]'Bin']/[EMAIL
PROTECTED]'Children']" name="hidden">1</attr>
+
+
<attr path="/api/namespace/[EMAIL PROTECTED]'Element']/[EMAIL
PROTECTED]'NoMorePads']" name="name">HasNoMorePads</attr>
<!-- Hidden as the parameter name conflicts with generated code -->
<attr path="/api/namespace/[EMAIL PROTECTED]'Element']/[EMAIL
PROTECTED]'ContinueState']/parameters/[EMAIL PROTECTED]'ret']"
name="name">state_change_ret</attr>
Modified: branches/abock/gstreamer-sharp/tests/BinTest.cs
===================================================================
--- branches/abock/gstreamer-sharp/tests/BinTest.cs 2006-05-25 15:51:27 UTC
(rev 61114)
+++ branches/abock/gstreamer-sharp/tests/BinTest.cs 2006-05-25 15:57:02 UTC
(rev 61115)
@@ -35,7 +35,7 @@
Element e2 = ElementFactory.Make("fakesink", "fakesink");
bin.AddMany(e1, e2);
- Assert.AreEqual(bin.List.Length, 2);
+ Assert.AreEqual(bin.ChildrenCount, 2);
e1.Dispose();
e2.Dispose();
@@ -57,5 +57,31 @@
e1.Dispose();
bin.Dispose();
}
+
+ [Test]
+ public void TestChildren()
+ {
+ Bin bin = new Bin("test-bin");
+
+ Element [] elements = new Element [] {
+ ElementFactory.Make("fakesrc", "fakesrc"),
+ ElementFactory.Make("audioconvert", "audioconvert"),
+ ElementFactory.Make("wavenc", "wavenc"),
+ ElementFactory.Make("fakesink", "fakesink")
+ };
+
+ foreach(Element element in elements) {
+ bin.Add(element);
+ }
+
+ Assert.AreEqual(elements.Length, bin.ChildrenCount);
+ Element [] children = bin.Children;
+
+ for(int i = 0; i < elements.Length; i++) {
+ Assert.AreEqual(elements[i], children[i]);
+ }
+
+ bin.Dispose();
+ }
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches