}-*/;
protected static class PluginManagerImpl {
public PluginInfo getPluginInfo(Plugin plugin) throws PluginNotFoundException {
BrowserPlugin plug = null;
PluginInfo.PlayerPluginWrapperType pwt = PluginInfo.PlayerPluginWrapperType.Native;
PluginVersion pv = new PluginVersion();
if (plugin.equals(Plugin.Native) || plugin.equals(Plugin.WinMediaPlayer)) {
switch (plugin) {
case WinMediaPlayer:
boolean found = false;
MimeType mt = MimeType.getMimeType("application/x-ms-wmp");
if (mt != null) { // firefox plugin present...
found = true;
pwt = PluginInfo.PlayerPluginWrapperType.WMPForFirefox;
} else { // firefox plugin not found check for generic..
mt = MimeType.getMimeType("application/x-mplayer2");
if (mt != null) {
try {
plug = mt.getEnabledPlugin(); // who's got the mime ? (WMP / VLC)
if (plug.getName().contains("Windows Media Player")) {
found = true;
}
} catch (PluginNotFoundException ex) {
}
}
}
if (found) {
updateWMPVersion(pv);
plug = mt.getEnabledPlugin();
if (plug.getFileName().toLowerCase().contains("totem")
|| plug.getDescription().toLowerCase().contains("totem")) {
pwt = PluginInfo.PlayerPluginWrapperType.Totem;
}
} else {
throw new PluginNotFoundException(plugin);
}