public void Grab()
 {
     if (!Xfer.Grabbing)
     {
         Xfer.Grab();
     }
 }
 public void Freeze()
 {
     if (Xfer.Grabbing)
     {
         Xfer.Freeze();
     }
 }
 public Action Grab()
 {
     return(new Action(() => { if (!Xfer.Grabbing)
                               {
                                   Xfer.Grab();
                               }
                       }));
 }
 public Action Freeze()
 {
     return(new Action(() => { if (Xfer.Grabbing)
                               {
                                   Xfer.Freeze();
                               }
                       }));
 }
Exemple #5
0
        static void Main(string[] args)
        {
            TestXferOptions opt = new TestXferOptions();

            opt.ProcessArgs(args);

            if (opt.RemainingArguments.Length < 2)
            {
                opt.DoUsage();
                return;
            }

            XferOptions       options       = XferOptions.Default;
            XferOverwriteMode overwriteMode = XferOverwriteMode.Query;

            if (opt.recursive)
            {
                Console.WriteLine("Warning: Recursive xfer of directories.");
                options |= XferOptions.Recursive;
            }
            if (opt.followSymlinks)
            {
                Console.WriteLine("Warning: Following symlinks.");
                options |= XferOptions.FollowLinks;
            }
            if (opt.recursiveSymlinks)
            {
                Console.WriteLine("Warning: Following symlinks recursively.");
                options |= XferOptions.FollowLinksRecursive;
            }
            if (opt.replace)
            {
                Console.WriteLine("Warning: Using replace overwrite mode.");
                overwriteMode = XferOverwriteMode.Replace;
            }
            if (opt.deleteSource)
            {
                Console.WriteLine("Warning: Removing source files.");
                options |= XferOptions.Removesource;
            }

            Gnome.Vfs.Vfs.Initialize();

            Gnome.Vfs.Uri source = new Gnome.Vfs.Uri(opt.RemainingArguments[0]);
            Console.WriteLine("Source: `{0}'", source);
            Gnome.Vfs.Uri target = new Gnome.Vfs.Uri(opt.RemainingArguments[1]);
            Console.WriteLine("Target: `{0}'", target);

            Result result = Xfer.XferUri(source, target, options,
                                         XferErrorMode.Query,
                                         overwriteMode,
                                         new XferProgressCallback(OnProgress));

            Console.WriteLine("Result: {0}", Gnome.Vfs.Vfs.ResultToString(result));

            Gnome.Vfs.Vfs.Shutdown();
        }
Exemple #6
0
        private uint CreateVersion(string name, uint base_version_id, bool create, bool is_protected)
        {
            System.Uri new_uri      = GetUriForVersionName(name, System.IO.Path.GetExtension(VersionUri(base_version_id).AbsolutePath));
            System.Uri original_uri = VersionUri(base_version_id);
            string     md5_sum      = MD5Sum;

            if (VersionNameExists(name))
            {
                throw new Exception("This version name already exists");
            }

            if (create)
            {
                if ((new Gnome.Vfs.Uri(new_uri.ToString())).Exists)
                {
                    throw new Exception(String.Format("An object at this uri {0} already exists", new_uri.ToString()));
                }

                Xfer.XferUri(
                    new Gnome.Vfs.Uri(original_uri.ToString()),
                    new Gnome.Vfs.Uri(new_uri.ToString()),
                    XferOptions.Default, XferErrorMode.Abort,
                    XferOverwriteMode.Abort,
                    delegate(Gnome.Vfs.XferProgressInfo info) { return(1); });

                //			Mono.Unix.Native.Stat stat;
                //			int stat_err = Mono.Unix.Native.Syscall.stat (original_path, out stat);
                //			File.Copy (original_path, new_path);
                FSpot.ThumbnailGenerator.Create(new_uri).Dispose();
                //
                //			if (stat_err == 0)
                //				try {
                //					Mono.Unix.Native.Syscall.chown(new_path, Mono.Unix.Native.Syscall.getuid (), stat.st_gid);
                //				} catch (Exception) {}
                //
            }
            else
            {
                md5_sum = Photo.GenerateMD5(new_uri);
            }
            highest_version_id++;

            Versions [highest_version_id] = new PhotoVersion(this, highest_version_id, new_uri, md5_sum, name, is_protected);

            changes.AddVersion(highest_version_id);

            return(highest_version_id);
        }
Exemple #7
0
        //Call Destroy method
        public void DestroyObjects()
        {
            if (Xfer != null && Xfer.Initialized)
            {
                Xfer.Destroy();
            }

            if (Buffers != null && Buffers.Initialized)
            {
                Buffers.Destroy();
            }
            if (Acquisition != null && Acquisition.Initialized)
            {
                Acquisition.Destroy();
            }
        }
Exemple #8
0
        public void DisposeObjects()
        {
            if (Xfer != null)
            {
                Xfer.Dispose();
                Xfer = null;
            }

            if (Buffers != null)
            {
                Buffers.Dispose();
                Buffers = null;
            }

            if (Acquisition != null)
            {
                Acquisition.Dispose();
                Acquisition = null;
            }
        }
        public Action Disconnect()
        {
            return(new Action(() => {
                if (Xfer != null)
                {
                    Xfer.Destroy();
                    Xfer.Dispose();
                }

                if (AcqDevice != null)
                {
                    AcqDevice.Destroy();
                    AcqDevice.Dispose();
                }

                if (Acquisition != null)
                {
                    Acquisition.Destroy();
                    Acquisition.Dispose();
                }

                if (Buffers != null)
                {
                    Buffers.Destroy();
                    Buffers.Dispose();
                }

                if (View != null)
                {
                    View.Destroy();
                    View.Dispose();
                }
                if (ServerLocation != null)
                {
                    ServerLocation.Dispose();
                }
            }));
        }
        public void Disconnect( )
        {
            try
            {
                if (Xfer != null)
                {
                    Xfer.Destroy();
                    Xfer.Dispose();
                }

                if (AcqDevice != null)
                {
                    AcqDevice.Destroy();
                    AcqDevice.Dispose();
                }

                if (Acquisition != null)
                {
                    Acquisition.Destroy();
                    Acquisition.Dispose();
                }

                if (Buffers != null)
                {
                    Buffers.Destroy();
                    Buffers.Dispose();
                }
                if (ServerLocation != null)
                {
                    ServerLocation.Dispose();
                }
            }
            catch (Exception)
            {
            }
        }
Exemple #11
0
        // Call Create method
        public bool CreateObjects()
        {
            // Create acquisition object
            if (Acquisition != null && !Acquisition.Initialized)
            {
                if (Acquisition.Create() == false)
                {
                    DestroyObjects();
                    return(false);
                }
            }

            // Create buffer object
            if (Buffers != null && !Buffers.Initialized)
            {
                if (Buffers.Create() == false)
                {
                    DestroyObjects();
                    return(false);
                }

                Buffers.Clear();
            }

            // Create Xfer object
            if (Xfer != null && !Xfer.Initialized)
            {
                if (Xfer.Create() == false)
                {
                    DestroyObjects();
                    return(false);
                }
            }

            return(true);
        }
Exemple #12
0
        public bool CoreAbort()
        {
            var ret = Xfer.Abort();

            return(ret);
        }
 public Action Grab()
 {
     return(new Action(() => Xfer.Grab()));
 }
 public Action Freeze()
 {
     return(new Action(() => Xfer.Freeze()));
 }
 public Action Freeze()
 {
     return(act(() => Xfer.Freeze()));
 }
 public Action Grab()
 {
     return(act(() => Xfer.Grab()));
 }
Exemple #17
0
        static void Main(string[] args)
        {
            SapAcquisition Acq       = null;
            SapAcqDevice   AcqDevice = null;
            SapBuffer      Buffers   = null;
            SapTransfer    Xfer      = null;
            SapView        View      = null;

            Console.WriteLine("Sapera Console Grab Example (C# version)\n");

            MyAcquisitionParams acqParams = new MyAcquisitionParams();

            // Call GetOptions to determine which acquisition device to use and which config
            // file (CCF) should be loaded to configure it.
            if (!GetOptions(args, acqParams))
            {
                Console.WriteLine("\nPress any key to terminate\n");
                Console.ReadKey(true);
                return;
            }

            SapLocation loc = new SapLocation(acqParams.ServerName, acqParams.ResourceIndex);

            if (SapManager.GetResourceCount(acqParams.ServerName, SapManager.ResourceType.Acq) > 0)
            {
                Acq     = new SapAcquisition(loc, acqParams.ConfigFileName);
                Buffers = new SapBufferWithTrash(2, Acq, SapBuffer.MemoryType.ScatterGather);
                Xfer    = new SapAcqToBuf(Acq, Buffers);

                // Create acquisition object
                if (!Acq.Create())
                {
                    Console.WriteLine("Error during SapAcquisition creation!\n");
                    DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                    return;
                }
                Acq.EnableEvent(SapAcquisition.AcqEventType.StartOfFrame);
            }

            else if (SapManager.GetResourceCount(acqParams.ServerName, SapManager.ResourceType.AcqDevice) > 0)
            {
                AcqDevice = new SapAcqDevice(loc, acqParams.ConfigFileName);
                Buffers   = new SapBufferWithTrash(2, AcqDevice, SapBuffer.MemoryType.ScatterGather);
                Xfer      = new SapAcqDeviceToBuf(AcqDevice, Buffers);

                // Create acquisition object
                if (!AcqDevice.Create())
                {
                    Console.WriteLine("Error during SapAcqDevice creation!\n");
                    DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                    return;
                }
            }

            View = new SapView(Buffers);

            // End of frame event
            Xfer.Pairs[0].EventType = SapXferPair.XferEventType.EndOfFrame;
            Xfer.XferNotify        += new SapXferNotifyHandler(xfer_XferNotify);
            Xfer.XferNotifyContext  = View;

            // Create buffer object
            if (!Buffers.Create())
            {
                Console.WriteLine("Error during SapBuffer creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }

            // Create buffer object
            if (!Xfer.Create())
            {
                Console.WriteLine("Error during SapTransfer creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }

            // Create buffer object
            if (!View.Create())
            {
                Console.WriteLine("Error during SapView creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }


            Xfer.Grab();
            Console.WriteLine("\n\nGrab started, press a key to freeze");
            Console.ReadKey(true);
            Xfer.Freeze();
            Xfer.Wait(1000);

            DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
            loc.Dispose();
        }
        static void Main(string[] args)
        {
            SapAcquisition Acq       = null;
            SapAcqDevice   AcqDevice = null;
            SapBuffer      Buffers   = null;
            SapTransfer    Xfer      = null;
            SapView        View      = null;

            //Console.WriteLine("Sapera Console Grab Example (C# version)\n");

            MyAcquisitionParams acqParams = new MyAcquisitionParams();

            // Call GetOptions to determine which acquisition device to use and which config
            // file (CCF) should be loaded to configure it.
            if (!GetOptions(args, acqParams))
            {
                Console.WriteLine("\nPress any key to terminate\n");
                Console.ReadKey(true);
                return;
            }

            SapLocation loc = new SapLocation(acqParams.ServerName, acqParams.ResourceIndex);

            if (SapManager.GetResourceCount(acqParams.ServerName, SapManager.ResourceType.Acq) > 0)
            {
                Acq     = new SapAcquisition(loc, acqParams.ConfigFileName);
                Buffers = new SapBuffer(1, Acq, SapBuffer.MemoryType.ScatterGather);
                Xfer    = new SapAcqToBuf(Acq, Buffers);

                // Create acquisition object
                if (!Acq.Create())
                {
                    Console.WriteLine("Error during SapAcquisition creation!\n");
                    DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                    return;
                }
            }

            if (SapManager.GetResourceCount(acqParams.ServerName, SapManager.ResourceType.AcqDevice) > 0)
            {
                AcqDevice = new SapAcqDevice(loc, acqParams.ConfigFileName);
                Buffers   = new SapBuffer(1, AcqDevice, SapBuffer.MemoryType.ScatterGather);
                Xfer      = new SapAcqDeviceToBuf(AcqDevice, Buffers);

                // Create acquisition object
                if (!AcqDevice.Create())
                {
                    Console.WriteLine("Error during SapAcqDevice creation!\n");
                    DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                    return;
                }
            }

            View = new SapView(Buffers);
            // End of frame event
            Xfer.Pairs[0].EventType = SapXferPair.XferEventType.EndOfFrame;
            Xfer.XferNotify        += new SapXferNotifyHandler(xfer_XferNotify);
            Xfer.XferNotifyContext  = View;

            //Console.WriteLine("gggggwhat is new line");
            // Create buffer object
            if (!Buffers.Create())
            {
                Console.WriteLine("Error during SapBuffer creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }

            // Create buffer object
            if (!Xfer.Create())
            {
                Console.WriteLine("Error during SapTransfer creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }

            // Create buffer object
            if (!View.Create())
            {
                Console.WriteLine("Error during SapView creation!\n");
                DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
                return;
            }

            // Grab as fast as possible, wait for a key to be pressed, if it's p,
            // write the file, otherwise if it's q exit the program. Designed to be run by and monitored
            // through a pipe

            Boolean stop_snap = false;
            int     curr_code = 0;
            string  new_cmd   = "";

            while (stop_snap == false)
            {
                Console.WriteLine("Press a key to trigger snap");
                new_cmd = Console.ReadLine();
                Xfer.Snap();

                Console.WriteLine("Press a key to trigger save");
                new_cmd = Console.ReadLine();
                View.Buffer.Save("test.raw", "-format raw");

                var dsb = new StringBuilder("frame: " + frame_count);
                Console.WriteLine(dsb);
                frame_count = frame_count + 1;


                Console.WriteLine("File saved, Press a key to repeat, q to quit:");
                new_cmd = Console.ReadLine();
                if (new_cmd == "q")
                {
                    stop_snap = true;
                }
                //if (curr_code == 113) { stop_snap = true; }
            }

            DestroysObjects(Acq, AcqDevice, Buffers, Xfer, View);
            loc.Dispose();
        }
Exemple #19
0
        public bool CoreGrab()
        {
            var ret = Xfer.Grab();

            return(ret);
        }