Upstream tarball 9389
[amule.git] / cocoa-mule / amuleData.h
blob96b2332bae8b7c1bfc2154677d66af37c47f359d
1 #import <Cocoa/Cocoa.h>
3 #import "EC.h"
5 @interface amuleFile : NSObject {
6 NSString *m_name;
7 uint64_t m_size;
9 MD5Data m_hash;
12 - (unsigned)hash;
13 - (NSString *)key;
14 - (BOOL)isEqual: (id) object;
16 - (NSString *)convertWithPrefix:(uint64_t)number;
18 @property (readonly) NSString *name;
19 @property (readonly) uint64_t size;
21 @end
23 @interface DownloadingFile : amuleFile {
24 int m_src_count;
25 int m_non_current_src_count;
26 int m_xfer_src_count;
27 int m_a4af_src_count;
29 uint64_t m_size_done;
30 uint64_t m_size_xfer;
32 int m_prio;
34 int m_speed;
38 + (id)createFromEC:(ECTagMD5 *) tag;
40 - (void)updateFromEC:(ECTagMD5 *) tag;
42 - (NSString *)prioToString:(int)prio;
44 @property (readonly) int src_count;
45 @property (readonly) int non_current_src_count;
46 @property (readonly) int xfer_src_count;
47 @property (readonly) int a4af_src_count;
49 @property (readonly) int speed;
51 @property (readonly) uint64_t size_done;
52 @property (readonly) uint64_t size_xfer;
54 @end
56 @interface SearchFile : amuleFile {
57 int m_src_count;
60 + (id)createFromEC:(ECTagMD5 *) tag;
62 - (void)updateFromEC:(ECTagMD5 *) tag;
64 @property (readonly) int src_count;
66 @end
68 @interface amuleFileSet : NSObject {
69 NSMutableDictionary *m_file_dict;
70 NSMutableArray *m_file_array;
72 id m_gui_controller;
75 - (id)init;
77 - (int)count;
79 - (void)insertObject:(id)object;
81 - (id)objectAtIndex:(int)index;
82 - (id)objectForKey:(id)key;
84 - (void)removeAtIndex:(int)index;
85 - (void)removeAtKey:(id)key;
87 - (void)setGuiController:(id)controller;
89 - (void)reloadGui;
91 @end
93 @interface amuleData : NSObject {
96 // Core status
98 uint32_t m_ed2k_id;
99 bool m_ed2k_connected;
100 bool m_kad_connected;
101 NSString *m_ed2k_server;
102 int m_down_speed;
103 int m_up_speed;
105 amuleFileSet *m_downloads;
106 amuleFileSet *m_shared;
109 // Search info
111 bool m_search_running;
112 amuleFileSet *m_search_results;
114 ECRemoteConnection *m_connection;
117 + (id)initWithConnection:(ECRemoteConnection *) connection;
120 // Binding to EC
122 - (void)handlePacket:(ECPacket *) packet;
123 - (void)handleError;
125 - (void)handleDownloadQueueUpdate:(ECPacket *) packet;
126 - (void)handleStatusUpdate:(ECPacket *) packet;
128 - (void)startSearch:(NSString *)text searchType:(EC_SEARCH_TYPE)searchType
129 minSize:(uint64_t)minSize maxSize:(uint64_t)maxSize avail:(uint32_t)avail;
130 - (void)stopSearch;
132 @property (readonly) amuleFileSet *downloads;
133 @property (readonly) amuleFileSet *shared;
134 @property (readonly) amuleFileSet *search_resuls;
136 @end