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(); } })); }
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(); }
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); }
//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(); } }
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) { } }
// 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); }
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())); }
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(); }
public bool CoreGrab() { var ret = Xfer.Grab(); return(ret); }