1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.opennap.net.msg.client;
21
22 import org.xnap.io.*;
23 import org.xnap.plugin.opennap.OpenNapPlugin;
24 import org.xnap.plugin.opennap.util.OpenNapFileHelper;
25 import org.xnap.search.MediaType;
26 import org.xnap.search.SearchManager;
27
28 public class ShareFileMessage extends ClientMessage {
29
30
31
32
33 public static final int TYPE = 100;
34
35
36
37 public ShareFileMessage(int index, MetaInfoFile file)
38 {
39 super(TYPE);
40
41 StringBuffer sb = new StringBuffer();
42 sb.append("\"");
43 sb.append(OpenNapFileHelper.getShareString(index, file));
44 sb.append("\" ");
45
46 if (MP3MetaInfo.hasInfo(file)) {
47 MP3MetaInfo m = new MP3MetaInfo(file);
48
49 sb.append("0 ");
50 sb.append(file.length());
51 sb.append(" ");
52 sb.append(m.getBitrate());
53 sb.append(" ");
54 sb.append(m.getFrequency());
55 sb.append(" ");
56 sb.append(m.getPlayingTime());
57 }
58 else {
59 MediaType mt = SearchManager.getMediaType(file.getName());
60 if (mt != null) {
61
62 type = 10300;
63 sb.append(file.length());
64 sb.append(" 0 ");
65
66 String realm = OpenNapPlugin.getSearchManager().getRealm(mt);
67 sb.append((realm != null) ? realm : "application");
68 }
69 else {
70 sb.append("0 ");
71 sb.append(file.length());
72 sb.append(" ");
73 sb.append("24 16000 600");
74 }
75
76 }
77
78 data = sb.toString();
79 }
80
81
82
83 public int getPriority()
84 {
85 return PRIORITY_LOW;
86 }
87
88 }