Esempio n. 1
0
        public static int OnProgress(XferProgressInfo info)
        {
            switch (info.Status)
            {
            case XferProgressStatus.Vfserror:
                Console.WriteLine("Vfs error: {0}",
                                  Gnome.Vfs.Vfs.ResultToString(info.VfsStatus));
                break;

            case XferProgressStatus.Overwrite:
                Console.WriteLine("Overwriting `{0}' with `{1}'",
                                  info.TargetName, info.SourceName);
                break;

            case XferProgressStatus.Ok:
                Console.WriteLine("Status: Ok");
                switch (info.Phase)
                {
                case XferPhase.PhaseInitial:
                    Console.WriteLine("Initial phase");
                    return(1);

                case XferPhase.PhaseCollecting:
                    Console.WriteLine("Collecting file list");
                    return(1);

                case XferPhase.PhaseReadytogo:
                    Console.WriteLine("Ready to go!");
                    return(1);

                case XferPhase.PhaseOpensource:
                    Console.WriteLine("Opening source");
                    return(1);

                case XferPhase.PhaseOpentarget:
                    Console.WriteLine("Opening target");
                    return(1);

                case XferPhase.PhaseCopying:
                    Console.WriteLine("Transferring `{0}' to `{1}' " +
                                      "(file {2}/{3}, byte {4}/{5} in file, " +
                                      "{6}/{7} total", info.SourceName,
                                      info.TargetName, info.FileIndex,
                                      info.FilesTotal, (long)info.BytesCopied,
                                      (long)info.FileSize, info.TotalBytesCopied,
                                      info.BytesTotal);
                    break;

                case XferPhase.PhaseClosesource:
                    Console.WriteLine("Closing source");
                    return(1);

                case XferPhase.PhaseClosetarget:
                    Console.WriteLine("Closing target");
                    return(1);

                case XferPhase.PhaseFilecompleted:
                    Console.WriteLine("Done with `{0}' -> `{1}', going next",
                                      info.SourceName, info.TargetName);
                    return(1);

                case XferPhase.PhaseCompleted:
                    Console.WriteLine("All done.");
                    return(1);

                default:
                    Console.WriteLine("Unexpected phase: {0}", info.Phase);
                    return(1);                    // Keep going anyway.
                }
                break;

            case XferProgressStatus.Duplicate:
                break;
            }

            return(0);
        }
		public int NativeCallback (ref XferProgressInfo info, IntPtr data)
		{
			return _managed (info);
		}
Esempio n. 3
0
		public static int OnProgress (XferProgressInfo info)
		{
			switch (info.Status) {
			case XferProgressStatus.Vfserror:
				Console.WriteLine ("Vfs error: {0}",
					Gnome.Vfs.Vfs.ResultToString (info.VfsStatus));
				break;
			case XferProgressStatus.Overwrite:
				Console.WriteLine ("Overwriting `{0}' with `{1}'",
						   info.TargetName, info.SourceName);
				break;
			case XferProgressStatus.Ok:
				Console.WriteLine ("Status: Ok");
				switch (info.Phase) {
				case XferPhase.PhaseInitial:
					Console.WriteLine ("Initial phase");
					return 1;
				case XferPhase.PhaseCollecting:
					Console.WriteLine ("Collecting file list");
					return 1;
				case XferPhase.PhaseReadytogo:
					Console.WriteLine ("Ready to go!");
					return 1;
				case XferPhase.PhaseOpensource:
					Console.WriteLine ("Opening source");
					return 1;
				case XferPhase.PhaseOpentarget:
					Console.WriteLine ("Opening target");
					return 1;
				case XferPhase.PhaseCopying:
					Console.WriteLine ("Transferring `{0}' to `{1}' " + 
							   "(file {2}/{3}, byte {4}/{5} in file, " +
							   "{6}/{7} total", info.SourceName,
							   info.TargetName, info.FileIndex,
							   info.FilesTotal, (long)info.BytesCopied,
							   (long)info.FileSize, info.TotalBytesCopied,
							   info.BytesTotal);
					break;
				case XferPhase.PhaseClosesource:
					Console.WriteLine ("Closing source");
					return 1;
				case XferPhase.PhaseClosetarget:
					Console.WriteLine ("Closing target");
					return 1;
				case XferPhase.PhaseFilecompleted:
					Console.WriteLine ("Done with `{0}' -> `{1}', going next",
							   info.SourceName, info.TargetName);
					return 1;
				case XferPhase.PhaseCompleted:
					Console.WriteLine ("All done.");
					return 1;
				default:
					Console.WriteLine ("Unexpected phase: {0}", info.Phase);
					return 1; // Keep going anyway.
				}
				break;
			case XferProgressStatus.Duplicate:
				break;
			}

			return 0;
		}