예제 #1
0
파일: Object.cs 프로젝트: knocte/bindinator
 public object this[string property]
 {
     get {
     Gst.GLib.Value v = GetProperty (property);
     object o = v.Val;
     v.Dispose ();
     return o;
       } set {
     Gst.GLib.Value v = new Gst.GLib.Value (this, property);
     v.Val = value;
     SetProperty (property, v);
     v.Dispose ();
       }
 }
예제 #2
0
파일: Structure.cs 프로젝트: jwzl/ossbuild
public void Set (params object[] fields) {
  int i, length = fields.Length;

  if (length % 2 != 0)
    throw new ArgumentException ();

  for (i = 0; i < length; i += 2) {
    if (fields[i].GetType () != typeof (string))
      throw new ArgumentException ();

    Gst.GLib.Value v = new Gst.GLib.Value (fields[i+1]);
    SetValue (fields[i] as string, v);
    v.Dispose ();
  }
}
예제 #3
0
파일: Structure.cs 프로젝트: jwzl/ossbuild
public void Set (string field, object value) {
  Gst.GLib.Value v = new Gst.GLib.Value (value);
  SetValue (field, v);
  v.Dispose ();
}
예제 #4
0
파일: TagList.cs 프로젝트: jwzl/ossbuild
public void Add (Gst.TagMergeMode mode, string tag, object value) {
  if (!Tag.Exists (tag))
    throw new ArgumentException (String.Format ("Invalid tag name '{0}'", tag));

  Gst.GLib.Value v = new Gst.GLib.Value (value);
  IntPtr raw_v = Gst.GLib.Marshaller.StructureToPtrAlloc (v);

  IntPtr raw_string = Gst.GLib.Marshaller.StringToPtrGStrdup (tag);
  gst_tag_list_add_value (Handle, (int) mode, raw_string, raw_v);
  Marshal.FreeHGlobal (raw_v);
  v.Dispose ();
  Gst.GLib.Marshaller.Free (raw_string);
}