Public Member Functions | |
void | Add (Queue.QueueEntry item) |
void | AddFileList (Hub hub, string username) |
void | AddSearchResult (SearchResults.SearchResult result) |
void | CheckDownloadedData (QueueEntry queueEntry) |
void | Clear () |
bool | Contains (Queue.QueueEntry item) |
void | CopyTo (Queue.QueueEntry[] array, int arrayIndex) |
delegate void | EntriesChangedEventHandler () |
delegate void | EntriesClearedEventHandler () |
delegate void | EntryAddedEventHandler (QueueEntry entry) |
delegate void | EntryCompletedEventHandler (QueueEntry entry) |
delegate void | EntryRemovedEventHandler (QueueEntry entry) |
QueueEntry | FindExistingEntryForFileList (Hub hub, string username) |
QueueEntry | FindExistingEntryForSearchResult (SearchResults.SearchResult result) |
Queue.QueueEntry | FindFirstQueueEntryBySourceUser (string username) |
Queue.QueueEntry | FindFirstUnusedQueueEntryBySourceUser (string username) |
Queue.QueueEntry | FindQueueEntryByOutputFilename (string output_filename) |
Queue.QueueEntry | FindQueueEntryByTTH (string tth) |
IEnumerator< Queue.QueueEntry > | GetEnumerator () |
void | LoadQueueFromXml (string xml) |
void | LoadQueueFromXmlFile (string filename) |
bool | Remove (Queue.QueueEntry item) |
void | Remove (string output_filename) |
void | RestartDownload (QueueEntry entry) |
string | SaveQueueToXml () |
void | SaveQueueToXmlFile (string filename) |
void | UpdateSourcesByUsername (string username, Hub source_hub, bool is_online) |
Public Attributes | |
event EntriesChangedEventHandler | EntriesChanged |
event EntriesClearedEventHandler | EntriesCleared |
event EntryAddedEventHandler | EntryAdded |
event QueueEntry.EntryClaimedEventHandler | EntryClaimed |
event EntryCompletedEventHandler | EntryCompleted |
event EntryRemovedEventHandler | EntryRemoved |
event QueueEntry.EntrySourceAddedEventHandler | EntrySourceAdded |
event QueueEntry.EntrySourceRemovedEventHandler | EntrySourceRemoved |
event QueueEntry.EntrySourceStatusChangedEventHandler | EntrySourceStatusChanged |
event QueueEntry.EntryUnclaimedEventHandler | EntryUnclaimed |
Protected Attributes | |
string | download_directory = ".\\downloads" |
string | filelists_directory = ".\\filelists" |
List< QueueEntry > | items = new List<QueueEntry>() |
Object | queue_lock = new Object() |
Properties | |
int | Count [get] |
string | DownloadDirectory [get, set] |
string | FileListsDirectory [get, set] |
bool | IsReadOnly [get] |
List< QueueEntry > | Items [get, set] |
Private Member Functions | |
IEnumerator IEnumerable. | GetEnumerator () |
void | GrabEntry (QueueEntry entry) |
Classes | |
class | QueueEntry |
class | QueueEnumerator |
class | QueueEnumerator2 |
Definition at line 11 of file Queue.cs.
void DCPlusPlus.Queue.Add | ( | Queue.QueueEntry | item | ) |
Definition at line 914 of file Queue.cs.
References DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntryAdded, DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
00915 { 00916 lock (queue_lock) 00917 { 00918 items.Add(item); 00919 } 00920 try 00921 { 00922 if (EntryAdded != null) 00923 EntryAdded(item); 00924 if (EntriesChanged != null) 00925 EntriesChanged(); 00926 } 00927 catch (Exception ex) 00928 { 00929 Console.WriteLine("Exception occured in added event callback: " + ex.Message); 00930 } 00931 }
void DCPlusPlus.Queue.AddFileList | ( | Hub | hub, | |
string | username | |||
) |
Definition at line 709 of file Queue.cs.
References DCPlusPlus.Hub.Address, DCPlusPlus.Queue.QueueEntry.AddSource(), DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntryAdded, DCPlusPlus.Queue.filelists_directory, DCPlusPlus.Queue.FindExistingEntryForFileList(), DCPlusPlus.Queue.GrabEntry(), DCPlusPlus.Queue.items, DCPlusPlus.Queue.QueueEntry.OutputFilename, DCPlusPlus.Queue.queue_lock, and DCPlusPlus.Queue.QueueEntry.Type.
Referenced by DCPlusPlus.Client.GetFileList().
00710 { 00711 QueueEntry existing = FindExistingEntryForFileList(hub, username); 00712 if (existing == null) 00713 { 00714 QueueEntry entry = new QueueEntry(); 00715 entry.Type = QueueEntry.EntryType.FileList; 00716 string temp_hub_address = hub.Address.Replace(":", "_"); 00717 entry.OutputFilename = filelists_directory + "\\" + temp_hub_address + "-" + Base32.ToBase32String(Encoding.Default.GetBytes(username)) + ".xml.bz2";//TODO .. maybe changes needed here to incorporate other filelist formats 00718 entry.AddSource(new Queue.QueueEntry.Source(username, "", hub)); 00719 lock (queue_lock) 00720 { 00721 items.Add(entry); 00722 } 00723 GrabEntry(entry); 00724 try 00725 { 00726 if (EntryAdded != null) 00727 EntryAdded(entry); 00728 if (EntriesChanged != null) 00729 EntriesChanged(); 00730 } 00731 catch (Exception ex) 00732 { 00733 Console.WriteLine("Exception occured in added event callback: " + ex.Message); 00734 } 00735 00736 } 00737 }
Here is the call graph for this function:
Here is the caller graph for this function:
void DCPlusPlus.Queue.AddSearchResult | ( | SearchResults.SearchResult | result | ) |
Definition at line 738 of file Queue.cs.
References DCPlusPlus.Queue.QueueEntry.AddSource(), DCPlusPlus.Queue.download_directory, DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntryAdded, DCPlusPlus.Queue.QueueEntry.Filesize, DCPlusPlus.Queue.FindExistingEntryForSearchResult(), DCPlusPlus.Queue.GrabEntry(), DCPlusPlus.Queue.items, DCPlusPlus.Queue.QueueEntry.OutputFilename, DCPlusPlus.Queue.queue_lock, DCPlusPlus.Queue.QueueEntry.TTH, and DCPlusPlus.Queue.QueueEntry.Type.
Referenced by DCPlusPlus.Client.StartDownload().
00739 { 00740 if (result.IsFile) 00741 { 00742 QueueEntry existing = FindExistingEntryForSearchResult(result); 00743 if (existing != null) 00744 {//This should be a deprecated case.. never ever be called again :-) 00745 //lock (queue_lock) 00746 //{ 00747 existing.AddSource(new QueueEntry.Source(result.UserName, result.Filename, result.Hub)); 00748 //TODO source add event 00749 //} 00750 return; 00751 } 00752 QueueEntry entry = new QueueEntry(); 00753 entry.Type = QueueEntry.EntryType.File; 00754 entry.Filesize = result.Filesize; 00755 entry.OutputFilename = download_directory + "\\" + System.IO.Path.GetFileName(result.Filename); //TODO add directory support somehow 00756 if (File.Exists(entry.OutputFilename)) 00757 {//already some file existing with this name ... try a (i) at the end increment until file is not there 00758 int i = 1; 00759 string new_extension = Path.GetExtension(entry.OutputFilename); 00760 00761 string new_filename = Path.GetDirectoryName(entry.OutputFilename) + "\\" + Path.GetFileNameWithoutExtension(entry.OutputFilename) + "(" + i + ")" + new_extension; 00762 while (File.Exists(new_filename)) 00763 { 00764 i++; 00765 new_filename = Path.GetDirectoryName(entry.OutputFilename) + "\\" + Path.GetFileNameWithoutExtension(entry.OutputFilename) + "(" + i + ")" + new_extension; 00766 } 00767 entry.OutputFilename = new_filename; 00768 } 00769 if (result.HasTTH) entry.TTH = result.TTH; 00770 //if(result.IsHubResolved) 00771 entry.AddSource(new Queue.QueueEntry.Source(result.UserName, result.Filename, result.Hub)); 00772 lock (queue_lock) 00773 { 00774 items.Add(entry); 00775 } 00776 GrabEntry(entry); 00777 //Console.WriteLine("Queue Entry added: '"+entry.OutputFilename+"'"); 00778 try 00779 { 00780 if (EntryAdded != null) 00781 EntryAdded(entry); 00782 if (EntriesChanged != null) 00783 EntriesChanged(); 00784 } 00785 catch (Exception ex) 00786 { 00787 Console.WriteLine("Exception occured in added event callback: " + ex.Message); 00788 } 00789 00790 } 00791 //download_directory + "\\" + 00792 00793 }
Here is the call graph for this function:
Here is the caller graph for this function:
void DCPlusPlus.Queue.CheckDownloadedData | ( | QueueEntry | queueEntry | ) |
void DCPlusPlus.Queue.Clear | ( | ) |
Definition at line 954 of file Queue.cs.
References DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntriesCleared, DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
00955 { 00956 lock (queue_lock) 00957 { 00958 items.Clear(); 00959 } 00960 try 00961 { 00962 00963 if (EntriesCleared != null) 00964 EntriesCleared(); 00965 if (EntriesChanged != null) 00966 EntriesChanged(); 00967 } 00968 catch (Exception ex) 00969 { 00970 Console.WriteLine("Exception occured in clear event callback: " + ex.Message); 00971 } 00972 }
bool DCPlusPlus.Queue.Contains | ( | Queue.QueueEntry | item | ) |
Definition at line 1066 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
01067 { 01068 bool ret = false; 01069 lock (queue_lock) 01070 { 01071 ret =items.Contains(item); 01072 } 01073 return (ret); 01074 }
void DCPlusPlus.Queue.CopyTo | ( | Queue.QueueEntry[] | array, | |
int | arrayIndex | |||
) |
Definition at line 1075 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
01076 { 01077 lock (queue_lock) 01078 { 01079 foreach (Queue.QueueEntry entry in items) 01080 { 01081 array.SetValue(entry, arrayIndex); 01082 arrayIndex = arrayIndex + 1; 01083 } 01084 } 01085 }
delegate void DCPlusPlus.Queue.EntriesChangedEventHandler | ( | ) |
delegate void DCPlusPlus.Queue.EntriesClearedEventHandler | ( | ) |
delegate void DCPlusPlus.Queue.EntryAddedEventHandler | ( | QueueEntry | entry | ) |
delegate void DCPlusPlus.Queue.EntryCompletedEventHandler | ( | QueueEntry | entry | ) |
delegate void DCPlusPlus.Queue.EntryRemovedEventHandler | ( | QueueEntry | entry | ) |
QueueEntry DCPlusPlus.Queue.FindExistingEntryForFileList | ( | Hub | hub, | |
string | username | |||
) |
Definition at line 629 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Queue.AddFileList().
00630 { 00631 QueueEntry ret = null; 00632 lock (queue_lock) 00633 { 00634 foreach (QueueEntry entry in items) 00635 { 00636 if (entry.FindFirstSourceByUserAndHub(username, hub) != null) 00637 { 00638 ret = entry; 00639 break; 00640 } 00641 } 00642 } 00643 return (ret); 00644 }
Here is the caller graph for this function:
QueueEntry DCPlusPlus.Queue.FindExistingEntryForSearchResult | ( | SearchResults.SearchResult | result | ) |
Definition at line 611 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Queue.AddSearchResult().
00612 { 00613 QueueEntry ret = null; 00614 lock (queue_lock) 00615 { 00616 foreach (QueueEntry entry in items) 00617 { 00618 //if ((entry.OutputFilename == download_directory + "\\" + System.IO.Path.GetFileName(result.Filename) && entry.Filesize == result.Filesize) 00619 // || (result.HasTTH && entry.HasTTH && entry.TTH == result.TTH)) 00620 if (result.HasTTH && entry.HasTTH && entry.TTH == result.TTH) 00621 { 00622 ret = (entry); 00623 break; 00624 } 00625 } 00626 } 00627 return (ret); 00628 }
Here is the caller graph for this function:
Queue.QueueEntry DCPlusPlus.Queue.FindFirstQueueEntryBySourceUser | ( | string | username | ) |
Definition at line 803 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
00804 { 00805 QueueEntry ret = null; 00806 lock (queue_lock) 00807 { 00808 00809 foreach (Queue.QueueEntry entry in items) 00810 { 00811 foreach (QueueEntry.Source source in entry.Sources) 00812 { 00813 if (source.UserName == username) 00814 { 00815 ret = entry; 00816 break; 00817 } 00818 } 00819 if (ret != null) 00820 break; 00821 } 00822 } 00823 return (ret); 00824 }
Queue.QueueEntry DCPlusPlus.Queue.FindFirstUnusedQueueEntryBySourceUser | ( | string | username | ) |
Definition at line 825 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Client.ContinueWithQueueForUser(), and DCPlusPlus.Client.SetupPeerEventHandler().
00826 { 00827 QueueEntry ret = null; 00828 lock (queue_lock) 00829 { 00830 foreach (Queue.QueueEntry entry in items) 00831 { 00832 foreach (QueueEntry.Source source in entry.Sources) 00833 { 00834 if (source.UserName == username && !entry.IsInUse) 00835 { 00836 ret = entry; 00837 break; 00838 } 00839 } 00840 if (ret != null) 00841 break; 00842 } 00843 } 00844 return (ret); 00845 }
Here is the caller graph for this function:
Queue.QueueEntry DCPlusPlus.Queue.FindQueueEntryByOutputFilename | ( | string | output_filename | ) |
Definition at line 846 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
00847 { 00848 QueueEntry ret = null; 00849 lock (queue_lock) 00850 { 00851 foreach (Queue.QueueEntry entry in items) 00852 { 00853 if (entry.OutputFilename == output_filename) 00854 { 00855 ret = entry; 00856 break; 00857 } 00858 } 00859 } 00860 return (ret); 00861 }
Queue.QueueEntry DCPlusPlus.Queue.FindQueueEntryByTTH | ( | string | tth | ) |
Definition at line 862 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Client.InterpretReceivedSearchResult().
00863 { 00864 QueueEntry ret = null; 00865 lock (queue_lock) 00866 { 00867 foreach (Queue.QueueEntry entry in items) 00868 { 00869 if (entry.HasTTH && entry.TTH == tth) 00870 { 00871 ret = entry; 00872 break; 00873 } 00874 } 00875 } 00876 return (ret); 00877 }
Here is the caller graph for this function:
IEnumerator IEnumerable. DCPlusPlus.Queue.GetEnumerator | ( | ) | [private] |
Definition at line 1203 of file Queue.cs.
References DCPlusPlus.Queue.items.
01204 { 01205 return (new QueueEnumerator(items.ToArray())); 01206 }
IEnumerator<Queue.QueueEntry> DCPlusPlus.Queue.GetEnumerator | ( | ) |
Definition at line 1157 of file Queue.cs.
References DCPlusPlus.Queue.items.
01158 { 01159 return (new QueueEnumerator2(items.ToArray())); 01160 }
void DCPlusPlus.Queue.GrabEntry | ( | QueueEntry | entry | ) | [private] |
Definition at line 645 of file Queue.cs.
References DCPlusPlus.Queue.EntryClaimed, DCPlusPlus.Queue.QueueEntry.EntryClaimed, DCPlusPlus.Queue.EntrySourceAdded, DCPlusPlus.Queue.QueueEntry.EntrySourceAdded, DCPlusPlus.Queue.EntrySourceRemoved, DCPlusPlus.Queue.QueueEntry.EntrySourceRemoved, DCPlusPlus.Queue.EntrySourceStatusChanged, DCPlusPlus.Queue.QueueEntry.EntrySourceStatusChanged, DCPlusPlus.Queue.EntryUnclaimed, and DCPlusPlus.Queue.QueueEntry.EntryUnclaimed.
Referenced by DCPlusPlus.Queue.AddFileList(), DCPlusPlus.Queue.AddSearchResult(), and DCPlusPlus.Queue.LoadQueueFromXml().
00646 { 00647 entry.EntrySourceAdded += delegate(QueueEntry add_entry, QueueEntry.Source added_source) 00648 { 00649 if (EntrySourceAdded != null) 00650 EntrySourceAdded(add_entry, added_source); 00651 }; 00652 entry.EntrySourceRemoved += delegate(QueueEntry remove_entry, QueueEntry.Source removed_source) 00653 { 00654 if (EntrySourceRemoved != null) 00655 EntrySourceRemoved(remove_entry, removed_source); 00656 }; 00657 entry.EntrySourceStatusChanged += delegate(QueueEntry change_entry, QueueEntry.Source changed_source) 00658 { 00659 if (EntrySourceStatusChanged != null) 00660 EntrySourceStatusChanged(change_entry, changed_source); 00661 }; 00662 entry.EntryClaimed += delegate(QueueEntry claimed_entry, Peer claiming_peer) 00663 { 00664 if (EntryClaimed != null) 00665 EntryClaimed(claimed_entry, claiming_peer); 00666 }; 00667 entry.EntryUnclaimed += delegate(QueueEntry unclaimed_entry) 00668 { 00669 if (EntryUnclaimed != null) 00670 EntryUnclaimed(unclaimed_entry); 00671 }; 00672 }
Here is the caller graph for this function:
void DCPlusPlus.Queue.LoadQueueFromXml | ( | string | xml | ) |
Definition at line 973 of file Queue.cs.
References DCPlusPlus.Queue.download_directory, DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntriesCleared, DCPlusPlus.Queue.EntryAdded, DCPlusPlus.Queue.GrabEntry(), DCPlusPlus.Queue.Items, DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Queue.LoadQueueFromXmlFile().
00974 { 00975 lock (queue_lock) 00976 { 00977 items.Clear(); 00978 } 00979 if (EntriesCleared != null) 00980 EntriesCleared(); 00981 00982 Queue q = new Queue(); 00983 try 00984 { 00985 XmlSerializer serializer = new XmlSerializer(typeof(Queue)); 00986 MemoryStream ms = new MemoryStream(System.Text.Encoding.Default.GetBytes(xml)); 00987 q = (Queue)serializer.Deserialize(ms); 00988 } 00989 catch (Exception ex) 00990 { 00991 Console.WriteLine("Error deserializing queue: " + ex.Message); 00992 } 00993 lock (queue_lock) 00994 { 00995 items = q.Items; 00996 } 00997 download_directory = q.download_directory; 00998 if (EntryAdded != null) 00999 { 01000 foreach (QueueEntry entry in items) 01001 { 01002 GrabEntry(entry); 01003 entry.GrabSources(); 01004 EntryAdded(entry); 01005 } 01006 } 01007 if (EntriesChanged != null) 01008 EntriesChanged(); 01009 }
Here is the call graph for this function:
Here is the caller graph for this function:
void DCPlusPlus.Queue.LoadQueueFromXmlFile | ( | string | filename | ) |
Definition at line 1033 of file Queue.cs.
References DCPlusPlus.Queue.LoadQueueFromXml().
01034 { 01035 //try 01036 //{ 01037 if (!File.Exists(filename)) return; 01038 LoadQueueFromXml(System.IO.File.ReadAllText(filename)); 01039 //} 01040 //catch (Exception ex) 01041 //{ 01042 // Console.WriteLine("Error loading queue from: " + filename + " : " + ex.Message); 01043 //} 01044 }
Here is the call graph for this function:
bool DCPlusPlus.Queue.Remove | ( | Queue.QueueEntry | item | ) |
Definition at line 934 of file Queue.cs.
References DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntryRemoved, DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
00935 { 00936 bool ret = false; 00937 lock (queue_lock) 00938 { 00939 ret = items.Remove(item); 00940 } 00941 try 00942 { 00943 if (EntryRemoved != null) 00944 EntryRemoved(item); 00945 if (EntriesChanged != null) 00946 EntriesChanged(); 00947 } 00948 catch (Exception ex) 00949 { 00950 Console.WriteLine("Exception occured in remove event callback: " + ex.Message); 00951 } 00952 return (ret); 00953 }
void DCPlusPlus.Queue.Remove | ( | string | output_filename | ) |
Definition at line 888 of file Queue.cs.
References DCPlusPlus.Queue.EntriesChanged, DCPlusPlus.Queue.EntryRemoved, DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Client.SetupPeerEventHandler().
00889 { 00890 foreach (QueueEntry entry in items) 00891 { 00892 if (entry.OutputFilename == output_filename) 00893 { 00894 lock (queue_lock) 00895 { 00896 items.Remove(entry); 00897 } 00898 entry.Ungrab(); 00899 try 00900 { 00901 if (EntryRemoved != null) 00902 EntryRemoved(entry); 00903 if (EntriesChanged != null) 00904 EntriesChanged(); 00905 } 00906 catch (Exception ex) 00907 { 00908 Console.WriteLine("Exception occured in remove event callback: " + ex.Message); 00909 } 00910 return; 00911 } 00912 } 00913 }
Here is the caller graph for this function:
void DCPlusPlus.Queue.RestartDownload | ( | QueueEntry | entry | ) |
Definition at line 795 of file Queue.cs.
References DCPlusPlus.Queue.QueueEntry.DeleteOutputFile(), DCPlusPlus.Queue.QueueEntry.FilesizeOnDisk, DCPlusPlus.Queue.QueueEntry.IsInUse, and DCPlusPlus.Queue.QueueEntry.OutputFilename.
00796 { 00797 if (entry.FilesizeOnDisk != 0 && File.Exists(entry.OutputFilename) && !entry.IsInUse) 00798 { 00799 entry.DeleteOutputFile(); 00800 } 00801 }
Here is the call graph for this function:
string DCPlusPlus.Queue.SaveQueueToXml | ( | ) |
Definition at line 1010 of file Queue.cs.
References DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Queue.SaveQueueToXmlFile().
01011 { 01012 //nice way but seems to not work with list<> members 01013 string ret = ""; 01014 lock (queue_lock) 01015 { 01016 try 01017 { 01018 XmlSerializer serializer = new XmlSerializer(typeof(Queue)); 01019 MemoryStream ms = new MemoryStream(); 01020 serializer.Serialize(ms, this); 01021 ms.Flush(); 01022 ret = System.Text.Encoding.Default.GetString(ms.GetBuffer(), 0, (int)ms.Length);//TODO ... 4gb crash border 01023 //ret = ret.TrimEnd((char)0); 01024 } 01025 catch (Exception ex) 01026 { 01027 Console.WriteLine("Error serializing queue: " + ex.Message); 01028 ret = null; 01029 } 01030 } 01031 return (ret); 01032 }
Here is the caller graph for this function:
void DCPlusPlus.Queue.SaveQueueToXmlFile | ( | string | filename | ) |
Definition at line 1045 of file Queue.cs.
References DCPlusPlus.Queue.SaveQueueToXml().
01046 { 01047 try 01048 { 01049 if (File.Exists(filename + ".backup") && File.Exists(filename)) 01050 File.Delete(filename + ".backup"); 01051 if (File.Exists(filename)) 01052 { 01053 File.Move(filename, filename + ".backup"); 01054 Console.WriteLine("Created Backup of queue: "+filename+".backup"); 01055 } 01056 01057 System.IO.File.WriteAllText(filename, SaveQueueToXml()); 01058 } 01059 catch (Exception ex) 01060 { 01061 Console.WriteLine("Error saving queue to: " + filename + " : " + ex.Message); 01062 } 01063 }
Here is the call graph for this function:
void DCPlusPlus.Queue.UpdateSourcesByUsername | ( | string | username, | |
Hub | source_hub, | |||
bool | is_online | |||
) |
Definition at line 878 of file Queue.cs.
References DCPlusPlus.Queue.items, and DCPlusPlus.Queue.queue_lock.
Referenced by DCPlusPlus.Client.UpdateSourcesByUsername().
00879 { 00880 lock (queue_lock) 00881 { 00882 foreach (Queue.QueueEntry entry in items) 00883 { 00884 entry.UpdateSourcesByUsername(username, source_hub, is_online); 00885 } 00886 } 00887 }
Here is the caller graph for this function:
string DCPlusPlus.Queue.download_directory = ".\\downloads" [protected] |
Definition at line 569 of file Queue.cs.
Referenced by DCPlusPlus.Queue.AddSearchResult(), and DCPlusPlus.Queue.LoadQueueFromXml().
event EntriesChangedEventHandler DCPlusPlus.Queue.EntriesChanged |
Definition at line 538 of file Queue.cs.
Referenced by DCPlusPlus.Queue.Add(), DCPlusPlus.Queue.AddFileList(), DCPlusPlus.Queue.AddSearchResult(), DCPlusPlus.Queue.Clear(), DCPlusPlus.Queue.LoadQueueFromXml(), and DCPlusPlus.Queue.Remove().
event EntriesClearedEventHandler DCPlusPlus.Queue.EntriesCleared |
Definition at line 540 of file Queue.cs.
Referenced by DCPlusPlus.Queue.Clear(), and DCPlusPlus.Queue.LoadQueueFromXml().
event EntryAddedEventHandler DCPlusPlus.Queue.EntryAdded |
Definition at line 532 of file Queue.cs.
Referenced by DCPlusPlus.Queue.Add(), DCPlusPlus.Queue.AddFileList(), DCPlusPlus.Queue.AddSearchResult(), and DCPlusPlus.Queue.LoadQueueFromXml().
event QueueEntry.EntryClaimedEventHandler DCPlusPlus.Queue.EntryClaimed |
event EntryCompletedEventHandler DCPlusPlus.Queue.EntryCompleted |
event EntryRemovedEventHandler DCPlusPlus.Queue.EntryRemoved |
event QueueEntry.EntrySourceAddedEventHandler DCPlusPlus.Queue.EntrySourceAdded |
event QueueEntry.EntrySourceRemovedEventHandler DCPlusPlus.Queue.EntrySourceRemoved |
event QueueEntry.EntrySourceStatusChangedEventHandler DCPlusPlus.Queue.EntrySourceStatusChanged |
Definition at line 544 of file Queue.cs.
Referenced by DCPlusPlus.Client.Client(), and DCPlusPlus.Queue.GrabEntry().
event QueueEntry.EntryUnclaimedEventHandler DCPlusPlus.Queue.EntryUnclaimed |
string DCPlusPlus.Queue.filelists_directory = ".\\filelists" [protected] |
List<QueueEntry> DCPlusPlus.Queue.items = new List<QueueEntry>() [protected] |
Definition at line 549 of file Queue.cs.
Referenced by DCPlusPlus.Queue.Add(), DCPlusPlus.Queue.AddFileList(), DCPlusPlus.Queue.AddSearchResult(), DCPlusPlus.Queue.Clear(), DCPlusPlus.Queue.Contains(), DCPlusPlus.Queue.CopyTo(), DCPlusPlus.Queue.FindExistingEntryForFileList(), DCPlusPlus.Queue.FindExistingEntryForSearchResult(), DCPlusPlus.Queue.FindFirstQueueEntryBySourceUser(), DCPlusPlus.Queue.FindFirstUnusedQueueEntryBySourceUser(), DCPlusPlus.Queue.FindQueueEntryByOutputFilename(), DCPlusPlus.Queue.FindQueueEntryByTTH(), DCPlusPlus.Queue.GetEnumerator(), DCPlusPlus.Queue.LoadQueueFromXml(), DCPlusPlus.Queue.Remove(), and DCPlusPlus.Queue.UpdateSourcesByUsername().
Object DCPlusPlus.Queue.queue_lock = new Object() [protected] |
Definition at line 597 of file Queue.cs.
Referenced by DCPlusPlus.Queue.Add(), DCPlusPlus.Queue.AddFileList(), DCPlusPlus.Queue.AddSearchResult(), DCPlusPlus.Queue.Clear(), DCPlusPlus.Queue.Contains(), DCPlusPlus.Queue.CopyTo(), DCPlusPlus.Queue.FindExistingEntryForFileList(), DCPlusPlus.Queue.FindExistingEntryForSearchResult(), DCPlusPlus.Queue.FindFirstQueueEntryBySourceUser(), DCPlusPlus.Queue.FindFirstUnusedQueueEntryBySourceUser(), DCPlusPlus.Queue.FindQueueEntryByOutputFilename(), DCPlusPlus.Queue.FindQueueEntryByTTH(), DCPlusPlus.Queue.LoadQueueFromXml(), DCPlusPlus.Queue.Remove(), DCPlusPlus.Queue.SaveQueueToXml(), and DCPlusPlus.Queue.UpdateSourcesByUsername().
string DCPlusPlus.Queue.DownloadDirectory [get, set] |
string DCPlusPlus.Queue.FileListsDirectory [get, set] |
List<QueueEntry> DCPlusPlus.Queue.Items [get, set] |