示例#1
0
        public ProgressDialog(Window parent)
            : base()
        {
            this.Title = "Updating iPod...";
            this.HasSeparator = false;
            this.TransientFor = parent;
            this.DefaultWidth = 400;

            VBox vbox = new VBox (false, 6);
            vbox.BorderWidth = 6;

            HBox hbox = new HBox (false, 6);

            Gdk.PixbufAnimation animation = new Gdk.PixbufAnimation (Assembly.GetExecutingAssembly (),
                                                                     "ipod.gif");
            hbox.PackStart (new Gtk.Image (animation), false, false, 0);

            label = new Label ("");
            label.Xalign = 0.0f;
            label.UseMarkup = true;

            SetEllipsize (label);
            hbox.PackStart (label, true, true, 0);

            vbox.PackStart (hbox, true, false, 0);

            bar = new ProgressBar ();
            vbox.PackStart (bar, true, false, 0);

            VBox.PackStart (vbox, false, false, 0);
            VBox.ShowAll ();

            notify = new ThreadNotify (new ReadyEvent (OnNotify));
        }
 private SimiasEventBroker()
 {
     this.simiasManager = Util.GetSimiasManager();
        string localServiceUrl =
     simiasManager.WebServiceUri.ToString();
        ifws = new iFolderWebService();
        ifws.Url = localServiceUrl + "/iFolder.asmx";
        LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath);
        NodeEventQueue = new Queue();
        SyncEventQueue = new Queue();
        FileEventQueue = new Queue();
        SimiasEventQueue = new Queue();
        NotifyEventQueue = new Queue();
        SimiasEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnSimiasEventFired) );
        SyncEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnSyncEventFired) );
        FileEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnFileEventFired) );
        GenericEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnGenericEventFired) );
        SEThread = new Thread(new ThreadStart(SimiasEventThread));
        SEThread.IsBackground = true;
        SEEvent = new ManualResetEvent(false);
        printErrors = (bool)ClientConfig.Get(ClientConfig.KEY_IFOLDER_DEBUG_PRINT_SIMIAS_EVENT_ERRORS);
        ClientConfig.SettingChanged +=
     new GConf.NotifyEventHandler(OnSettingChanged);
 }
 private SimiasEventBroker()
 {
     this.simiasManager = Util.GetSimiasManager();
        string localServiceUrl =
     simiasManager.WebServiceUri.ToString();
        ifws = new iFolderWebService();
        ifws.Url = localServiceUrl + "/iFolder.asmx";
        LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath);
        NodeEventQueue = new Queue();
        SyncEventQueue = new Queue();
        FileEventQueue = new Queue();
        SimiasEventQueue = new Queue();
        NotifyEventQueue = new Queue();
        SimiasEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnSimiasEventFired) );
        SyncEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnSyncEventFired) );
        FileEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnFileEventFired) );
        GenericEventFired = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OnGenericEventFired) );
        SEThread = new Thread(new ThreadStart(SimiasEventThread));
        SEThread.IsBackground = true;
        SEEvent = new ManualResetEvent(false);
 }
示例#4
0
        /// <summary>
        /// Constructor
        /// </summary>
        private SimiasEventBroker()
        {
            this.simiasManager = Util.GetSimiasManager();
            string localServiceUrl =
                simiasManager.WebServiceUri.ToString();

            ifws     = new iFolderWebService();
            ifws.Url = localServiceUrl + "/iFolder.asmx";
            LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath);

            NodeEventQueue   = new Queue();
            SyncEventQueue   = new Queue();
            FileEventQueue   = new Queue();
            SimiasEventQueue = new Queue();
            NotifyEventQueue = new Queue();

            SimiasEventFired = new Gtk.ThreadNotify(
                new Gtk.ReadyEvent(OnSimiasEventFired));
            SyncEventFired = new Gtk.ThreadNotify(
                new Gtk.ReadyEvent(OnSyncEventFired));
            FileEventFired = new Gtk.ThreadNotify(
                new Gtk.ReadyEvent(OnFileEventFired));
            GenericEventFired = new Gtk.ThreadNotify(
                new Gtk.ReadyEvent(OnGenericEventFired));

            SEThread = new Thread(new ThreadStart(SimiasEventThread));
            SEThread.IsBackground = true;
            SEEvent = new ManualResetEvent(false);

            printErrors = (bool)ClientConfig.Get(ClientConfig.KEY_IFOLDER_DEBUG_PRINT_SIMIAS_EVENT_ERRORS);
            ClientConfig.SettingChanged +=
                new GConf.NotifyEventHandler(OnSettingChanged);
        }
 public LoginWindow()
     : base("")
 {
     Stetic.Gui.Build(this, typeof(lib.LoginWindow));
     delegateLogin = new ThreadStart (Login);
     threadLogin  = new Thread(delegateLogin);
     notify = new ThreadNotify (new ReadyEvent (Logged));
 }
示例#6
0
		public FindBar (ObjectBrowser objectBrowser) : base (false, 0)
		{
			browser = objectBrowser;
			found = new Queue ();
			notify = new ThreadNotify (new ReadyEvent (FoundEvent));
			BorderWidth = Spacing = 5;

			SetupUI ();
		}
示例#7
0
        protected Task()
        {
            threadnotify = new ThreadNotify(new ReadyEvent(Wakeup));

            /*tracker = ((TaskService)ServiceManager.GetService(typeof(TaskService)))
                .GetStatusProgressMonitor("Version Control", null, true);*/
            tracker = ((TaskService)ServiceManager.GetService(typeof(TaskService)))
                .GetOutputProgressMonitor("Version Control", null, true, true);
        }
	void OnStartWorking (object sender, EventArgs a)
	{
		Button b = (Button) sender;
		b.Sensitive = false;
		// start a timer to update the progress bar
		timer = Gtk.Timeout.Add ( (uint) 100, new Function (DoUpdateProgressbar));
		
		Thread thr = new Thread (new ThreadStart (Work));
	    thr.Start ();
		notify = new ThreadNotify (new ReadyEvent (Finished));
		
	}
	public PixbufLoader ()
	{
		queue = new ArrayList ();
		requests_by_path = Hashtable.Synchronized (new Hashtable ());
		processed_requests = new Queue ();
		
		pending_notify = new ThreadNotify (new Gtk.ReadyEvent (HandleProcessedRequests));

		worker_thread = new Thread (new ThreadStart (WorkerThread));
		worker_thread.Start ();

		all_worker_threads.Add (worker_thread);
	}
示例#10
0
    public ImageLoaderThread()
    {
        queue = new ArrayList ();
        requests_by_uri = new Dictionary<Uri, RequestItem> ();
        //		requests_by_path = Hashtable.Synchronized (new Hashtable ());
        processed_requests = new Queue ();

        pending_notify = new ThreadNotify (new Gtk.ReadyEvent (HandleProcessedRequests));

        worker_thread = new Thread (new ThreadStart (WorkerThread));
        worker_thread.Start ();

        all_worker_threads.Add (worker_thread);
    }
示例#11
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        SetupListView ();
        posts = new Queue<Post>();
        notify = new ThreadNotify(new ReadyEvent(WakeUp));
        PopulatePluginList();
        SubscribeToSites();

        cbbSites.Changed += OnCbbSitesChanged;
        cbbSubSites.Changed += OnCbbSubSitesChanges;
    }
示例#12
0
	public Thumbnailer ()
	{
		thumb_stack = new Stack ();
		thumbs_done = new Queue ();
		thumbnail_sema = new Semaphore ();

		ThreadStart tstart = new ThreadStart (Thumbnailer_Thread);
		thumbnail_worker = new Thread (tstart);
		thumbnail_worker.Start ();

		threads_to_stop.Add (thumbnail_worker);

		main_notify = new Gtk.ThreadNotify (new Gtk.ReadyEvent (ThumbnailFinished));
	}
示例#13
0
    public Thumbnailer()
    {
        thumb_stack    = new Stack();
        thumbs_done    = new Queue();
        thumbnail_sema = new Semaphore();

        ThreadStart tstart = new ThreadStart(Thumbnailer_Thread);

        thumbnail_worker = new Thread(tstart);
        thumbnail_worker.Start();

        threads_to_stop.Add(thumbnail_worker);

        main_notify = new Gtk.ThreadNotify(new Gtk.ReadyEvent(ThumbnailFinished));
    }
示例#14
0
		public DiffView(string name, string left, string right) 
			: base(name + " Changes") {
			this.left = left;
			this.right = right;
			
			Refresh();
			
			threadnotify = new ThreadNotify(new ReadyEvent(Refresh));
			
			leftwatcher = new System.IO.FileSystemWatcher(Path.GetDirectoryName(left), Path.GetFileName(left));
			rightwatcher = new System.IO.FileSystemWatcher(Path.GetDirectoryName(right), Path.GetFileName(right));
			
			leftwatcher.Changed += new FileSystemEventHandler(filechanged);
			rightwatcher.Changed += new FileSystemEventHandler(filechanged);
			
			leftwatcher.EnableRaisingEvents = true;
			rightwatcher.EnableRaisingEvents = true;
		}
示例#15
0
 public IPodChooseWindow(Store s)
     : base(IntPtr.Zero)
 {
     store = s;
     Glade.XML gxml = new Glade.XML (null, "IPodWindow.glade", "window", null);
     gxml.Autoconnect (this);
     Raw = window.Handle;
     combo = new DeviceCombo ();
     combo.Changed += OnDeviceChanged;
     combo_container.PackStart (combo, true, true, 0);
     update_button.Clicked += OnUpdateClicked;
     window.Icon = MainClass.program_pixbuf48;
     notify = new ThreadNotify (new ReadyEvent (OnNotify));
     progress = new ProgressDialog (this);
     SetDevice ();
     window.Response += OnWindowResponse;
     window.DeleteEvent += OnWindowDeleteEvent;
     combo.ShowAll ();
 }
示例#16
0
        static SplashWindow()
        {
            // register a callback handler (DestroyPrivate) from main thread
            notify = new ThreadNotify (new ReadyEvent (DestroyPrivate));

            // dummy object used as a lock between the splash thread and
            // the main thread
            destroyLock = new object ();
            readyToBeDestroyed = false;

            // create static window with libglade
            XML gxml = new Glade.XML (null,
                          WorkbenchSingleton.GLADEFILE,
                          "SplashWindow",
                          null);

            // get a handle on the widgets
            window = (Gtk.Window) gxml["SplashWindow"];
            label = (Gtk.Button) gxml["label"];
            Gtk.Image image = (Gtk.Image) gxml["image"];

            // set the image and remove the borders
            Gdk.Pixbuf pixbuf = new Pixbuf (null, "splash.jpg");
            image.Pixbuf = pixbuf;
            Gtk.Image splashImage = new Gtk.Image (pixbuf);
            window.Decorated = false;

            // set hanlder for button
            label.Clicked += new EventHandler (OnButtonClicked);

            // show all
            window.ShowAll ();

            // start thread to show the splash for at least 1/2 sec
            Thread t = new Thread (new ThreadStart (TimedDestroy));
            t.IsBackground = true;
            t.Start ();
        }
示例#17
0
		void Cancel_Clicked (object sender, EventArgs a)
		{
			if (war != null)
				war.Abort ();
			war = null;
			state = State.Done;

			upload_dialog.Destroy ();
			upload_dialog = null;
			tn = null;
		}
示例#18
0
		Upload (Browser browser)
		{
			tn = new ThreadNotify (new ReadyEvent (Update));
			Glade.XML ui = new Glade.XML (null, "browser.glade", "upload_dialog", null);
			ui.Autoconnect (this);
			d = new Contributions ();
			if (Environment.GetEnvironmentVariable ("MONODOCTESTING") == null)
				d.Url = "http://www.go-mono.com/docs/server.asmx";
			
			status.Text = "Checking Server version";
			war = (WebClientAsyncResult) d.BeginCheckVersion (1, new AsyncCallback (VersionChecked), null);
		}
示例#19
0
        public MainWindow(string[] Args)
        {
            gxml = new Glade.XML(null, "gui.glade", "MainWindow", null);
            gxml.Autoconnect(this);

            events = new Queue<Event>();
            deltas = new Queue<Delta>();

            curr = new BugDisplay(frmCurrent);
            //curr.render(false,"hello world");
            dupl = new BugDisplay(frmDupl);

            ((Window)gxml.GetWidget("MainWindow")).Maximize();
            ((Window)gxml.GetWidget("MainWindow")).ShowAll();
            hrfBrowser.Clicked += OnNoClicked;
            //GlobalProxySelection.Select = new WebProxy("http://taz:8118");

            bugz = new Bugzilla("http://bugzilla.gnome.org/");
            BugDB.bugz = bugz;
            if (Args.Length !=0)
                product = Args[0];

            todo = new Queue<Bug>();
            ready();
            hasprocess = true;
            GLib.Idle.Add(new GLib.IdleHandler(processTask));
            notify = new ThreadNotify (new ReadyEvent (ready));
        }
示例#20
0
        private void OpenPack(string filename)
        {
            if (Packer.Create(System.IO.Path.GetExtension(filename), out fileSystem))
            {

                waitWindow = new WaitWindow(this, "Opening", filename);
                waitWindow.Show();

                ThreadNotify done = new ThreadNotify(new ReadyEvent(() =>
                {
                    waitWindow.Destroy();
                    waitWindow = null;
                }));

                ThreadNotify error = new ThreadNotify(new ReadyEvent(() =>
                {
                    waitWindow.Destroy();
                    waitWindow = null;

                    CustomMessageDialog msg =
                        new CustomMessageDialog(this, MessageType.Error, fileSystem.LastError);
                    msg.Run();
                    msg.Destroy();
                }));

                new Thread(new ThreadStart(() =>
                {
                    if (fileSystem.Open(filename))
                    {
                        RebuildPackTree(fileSystem.ListFiles());
                        ChangePackActionSensitive(true);
                        done.WakeupMain();
                    }
                    else
                        error.WakeupMain();
                })).Start();
            }
        }
示例#21
0
		protected Task()
		{
			threadnotify = new ThreadNotify(new ReadyEvent(Wakeup));
		}
示例#22
0
		/// <summary>
		/// Start sim update thread
		/// </summary>
		private void SimUpdate(Contacts cnts, bool isAppend)
		{
			ScanSimBefore();
			
			// Reset status values
			GlobalObjUI.SimADNStatus = 1;
			GlobalObjUI.SimADNPosition = 0;
			GlobalObjUI.SimADNError = "";
			
            // Start thread for reading process
            notify = new ThreadNotify(new ReadyEvent(WritingUpdate));
			System.Threading.ThreadStart threadStart = delegate() {
				GlobalObjUI.WriteSimContactsList(cnts, isAppend);
			};
            simThread = new System.Threading.Thread(threadStart);
            simThread.Start();

		}
示例#23
0
		/// <summary>
		/// Perform sim card connection and contacts read.
		/// </summary>
		private void SimConnect()
		{
			MainClass.GtkWait();
			
			if (GlobalObj.IsPowered)
			{
				// Disconnect card if needed
				GlobalObj.CloseConnection();
			}
			
			// Connect to smartcard
			retStr = GlobalObj.AnswerToReset(ref ATR);
			
			// check for error
			if (retStr != "")
			{
				// error on answer to reset
				log.Error("MainWindowClass::SimConnect: " + retStr);
				MainClass.ShowMessage(MainWindow, "ERROR", retStr, MessageType.Error);
				return;
			}
			
			// read sim contacts and fill list
			retStr = GlobalObjUI.SelectSimContactsList();
			
			// check for error
			if (retStr != "")
			{
				if (retStr == GlobalObjUI.LMan.GetString("needpindisable"))
				{
					// Pin1 enabled
					MainClass.ShowMessage(MainWindow, "ERROR", retStr, MessageType.Error);
					EnableSimPinControl();
					return;
				}
				else
				{					
					// error on reading contacts list
					GlobalObj.CloseConnection();
					MainClass.ShowMessage(MainWindow, "ERROR", retStr, MessageType.Error);
					return;
				}
			}
			
			ScanSimBefore();
			lstSimContacts.Clear();
			
			// Reset status values
			GlobalObjUI.SimADNStatus = 1;
			GlobalObjUI.SimADNPosition = 0;
			GlobalObjUI.SimADNError = "";
			
            // Start thread for reading process
            notify = new ThreadNotify(new ReadyEvent(ReadingUpdate));
            simThread = new System.Threading.Thread(new System.Threading.ThreadStart(GlobalObjUI.ReadSimContactsList));
            simThread.Start();

		}
示例#24
0
    protected void OnSearchClicked(object o, EventArgs args)
    {
        searchEngine = (SearchEngine)searchEngines [comboBoxSearchEngine.Active];

        if (entryTitle.Text.Trim().Equals("")) {
            string message = (Mono.Posix.Catalog.GetString ("You must write something to search."));

            MessageDialog dialog = new MessageDialog (null,
                    DialogFlags.Modal | DialogFlags.DestroyWithParent,
                    MessageType.Warning,
                    ButtonsType.Close,
                    message);
            dialog.Run ();
            dialog.Destroy ();

        }
        else {
            progressDialog = new ProgressDialog(searchEngine.Name);
            progressDialog.ShowAll();
            progressDialog.Response += OnProgressDialogResponse;

            thread = new Thread(new ThreadStart (doQuery));
            notify = new ThreadNotify (new ReadyEvent (CreateSelectionDialog));

            thread.Start();
        }
    }
示例#25
0
		private void DeleteContactsSim()
		{
			MessageDialog mdlg = new MessageDialog(MainWindow,
			                         DialogFlags.Modal,
			                         MessageType.Question,
			                         ButtonsType.YesNo, 
				                     GlobalObjUI.LMan.GetString("suredeletesim"));
			mdlg.TransientFor = MainWindow;
			mdlg.Title = MainClass.AppNameVer + " - " + GlobalObjUI.LMan.GetString("deletesimact");
			ResponseType respType = (ResponseType)mdlg.Run();
			
			if (respType == ResponseType.Yes)
			{
				// override
				mdlg.Destroy();
				mdlg.Dispose();
				mdlg = null;
				
				// Delete sim
				ScanSimBefore();
				
				// Reset status values
				GlobalObjUI.SimADNStatus = 1;
				GlobalObjUI.SimADNPosition = 0;
				GlobalObjUI.SimADNError = "";
				
	            // Start thread for reading process
	            notify = new ThreadNotify(new ReadyEvent(WritingUpdate));
	            simThread = new System.Threading.Thread(new System.Threading.ThreadStart(GlobalObjUI.DeleteAllSimContactsList));
	            simThread.Start();
			
				return;
			}
			
			mdlg.Destroy();
			mdlg.Dispose();
			mdlg = null;
			

		}
示例#26
0
 public iFolderApplication(string[] args)
     : base("ifolder", "1.0", Modules.UI, args)
 {
     Util.InitCatalog();
        Util.SetQuitiFolderDelegate(new QuitiFolderDelegate(QuitiFolder));
        tIcon = new TrayIcon("iFolder");
        bCollectionIsSynchronizing = false;
        currentIconAnimationDirection = 0;
        eBox = new EventBox();
        eBox.ButtonPressEvent +=
     new ButtonPressEventHandler(trayapp_clicked);
        RunningPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder24.png"));
        StartingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-startup.png"));
        StoppingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-shutdown.png"));
        DownloadingPixbuf =
      new Gdk.PixbufAnimation(Util.ImagesPath("ifolder24.gif"));
        UploadingPixbuf =
      new Gdk.PixbufAnimation(Util.ImagesPath("ifolder24-upload.gif"));
        gAppIcon = new Gtk.Image(RunningPixbuf);
        eBox.Add(gAppIcon);
        tIcon.Add(eBox);
        tIcon.ShowAll();
        LoginDialog = null;
        collectionSynchronizing = null;
        synchronizationErrors = new Hashtable();
        iFolderStateChanged = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OniFolderStateChanged));
        simiasManager = Util.CreateSimiasManager(args);
 }
示例#27
0
		ConfigWizard (Browser browser)
		{
			tn = new ThreadNotify (new ReadyEvent (UpdateNotebookPage));
			Glade.XML ui = new Glade.XML (null, "browser.glade", "window_config_wizard", null);
			ui.Autoconnect (this);
			//notebook.ShowTabs = false;
			parent = browser;
			window_config_wizard.TransientFor = browser.window1;

			d = new Contributions ();
			if (Environment.GetEnvironmentVariable ("MONODOCTESTING") == null)
				d.Url = "http://www.go-mono.com/docs/server.asmx";
			notebook.Page = 8;
			
			war = (WebClientAsyncResult) d.BeginCheckVersion (1, new AsyncCallback (VersionChecked), null);
		}
示例#28
0
 public iFolderApplication(string[] args)
     : base("ifolder", "1.0", Modules.UI, args)
 {
     Util.InitCatalog();
        Util.SetQuitiFolderDelegate(new QuitiFolderDelegate(QuitiFolder));
        tIcon = new Egg.TrayIcon("iFolder");
        currentIconAnimationDirection = 0;
        this.ClientUpgradeStatus = null;
        this.NewClientVersion = null;
        this.NewClientDomainID = null;
        eBox = new EventBox();
        eBox.ButtonPressEvent +=
     new ButtonPressEventHandler(trayapp_clicked);
                 quitDlg = new iFolderMsgDialog(
                 null,
                 iFolderMsgDialog.DialogType.Question,
                 iFolderMsgDialog.ButtonSet.YesNo,
                 Util.GS("Exit Novell iFolder"),
                  Util.GS("If you exit the Novell iFolder application, changes in your iFolder will no longer be tracked.\nThe next time you login, Novell iFolder will reconcile any differences between your iFolder and Server.\n\nAre you sure you want to exit the Application ?"),
                 " ");
                  quitDlg.Response += new ResponseHandler(YesNo_Clicked);
        RunningPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder16.png"));
        StartingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-waiting16.png"));
        StoppingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-waiting16.png"));
        DownloadingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-download16.png"));
        UploadingPixbuf =
      new Pixbuf(Util.ImagesPath("ifolder-upload16.png"));
        gAppIcon = new Gtk.Image(RunningPixbuf);
        eBox.Add(gAppIcon);
        tIcon.Add(eBox);
        tIcon.ShowAll();
        LoginDialog = null;
        collectionSynchronizing = null;
        synchronizationErrors = new Hashtable();
        iFolderAppStateChanged = new Gtk.ThreadNotify(
        new Gtk.ReadyEvent(OniFolderAppStateChanged));
        simiasManager = Util.CreateSimiasManager(args);
        startingUpNotifyWindow = null;
        shuttingDownNotifyWindow = null;
        forceShutdown = false;
        ClientUpgradeDialog = null;
 }
示例#29
0
		ContributionStatus (string email, string key)
		{
			tn = new ThreadNotify (new ReadyEvent (Update));
			
			d = new Contributions ();
			if (Environment.GetEnvironmentVariable ("MONODOCTESTING") == null)
				d.Url = "http://www.go-mono.com/docs/server.asmx";
				
			war = (WebClientAsyncResult) d.BeginGetStatus (email, key, new AsyncCallback (GetStatusDone), null);
			contributoremail = email;
		}
示例#30
0
		protected Task() {
			threadnotify = new ThreadNotify(new ReadyEvent(Wakeup));
			
			tracker = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor ("Version Control", "md-version-control", false, true);
		}
		protected VersionControlTask()
		{
			OperationType = VersionControlOperationType.Other;
			threadnotify = new ThreadNotify(new ReadyEvent(Wakeup));
		}
示例#32
0
    public ImageLoaderThread()
    {
        queue = new List<RequestItem> ();
        requests_by_uri = new Dictionary<SafeUri, RequestItem> ();
        //		requests_by_path = Hashtable.Synchronized (new Hashtable ());
        processed_requests = new Queue ();

        pending_notify = new ThreadNotify (new Gtk.ReadyEvent (HandleProcessedRequests));

        instances.Add (this);
    }