Esempio n. 1
0
 public SubprocessLauncher(GLib.SubprocessFlags flags) : base(IntPtr.Zero)
 {
     if (GetType() != typeof(SubprocessLauncher))
     {
         var vals  = new List <GLib.Value> ();
         var names = new List <string> ();
         names.Add("flags");
         vals.Add(new GLib.Value(flags));
         CreateNativeObject(names.ToArray(), vals.ToArray());
         return;
     }
     Raw = g_subprocess_launcher_new((int)flags);
 }
Esempio n. 2
0
        public unsafe Subprocess(string argv, GLib.SubprocessFlags flags) : base(IntPtr.Zero)
        {
            if (GetType() != typeof(Subprocess))
            {
                var vals  = new List <GLib.Value> ();
                var names = new List <string> ();
                names.Add("argv");
                vals.Add(new GLib.Value(argv));
                names.Add("flags");
                vals.Add(new GLib.Value(flags));
                CreateNativeObject(names.ToArray(), vals.ToArray());
                return;
            }
            IntPtr native_argv = GLib.Marshaller.StringToPtrGStrdup(argv);
            IntPtr error       = IntPtr.Zero;

            Raw = g_subprocess_newv(native_argv, (int)flags, out error);
            GLib.Marshaller.Free(native_argv);
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
        }