--- /dev/null
+package yukihane.inqubus.saccubus_adapter;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import nicobrowser.NicoHttpClient;
+import saccubus.ConvertStopFlag;
+import saccubus.net.CommentInfo;
+import saccubus.net.NicoClient;
+import saccubus.net.TextProgressListener;
+import saccubus.net.VideoInfo;
+import saccubus.util.FileUtil;
+
+/**
+ *
+ * @author yuki
+ */
+public class NicoBrowserAdapter implements NicoClient {
+
+ private static final Logger logger = Logger.getLogger(NicoBrowserAdapter.class.getName());
+ private final NicoHttpClient client;
+ private final boolean hasLogin;
+ private final ConvertStopFlag stopFlag;
+
+ public NicoBrowserAdapter(final String mail, final String pass,
+ final ConvertStopFlag flag, final String proxyHost, final int proxyPort) {
+
+ if (proxyHost != null && proxyHost.length() > 0 && proxyPort >= 0 && proxyPort <= 65535) {
+ this.client = new NicoHttpClient(proxyHost, proxyPort);
+ } else {
+ this.client = new NicoHttpClient();
+ }
+
+ // ログイン
+ boolean loginned = false;
+ try {
+ loginned = client.login(mail, pass);
+ } catch (Exception ex) {
+ logger.log(Level.SEVERE, "ログイン処理時に例外発生", ex);
+ }
+ this.hasLogin = loginned;
+
+ this.stopFlag = flag;
+
+ }
+
+ @Override
+ public VideoInfo getVideoInfo(String tag) throws IOException {
+ final nicobrowser.VideoInfo vi = client.getVideoInfo(tag);
+ final VideoInfo.OfficialOption oo =
+ new VideoInfo.OfficialOption(vi.getKeyMap().get("threadkey"), vi.getKeyMap().get("force_184"));
+
+ return new VideoInfo(FileUtil.safeFileName(vi.getTitleInWatchPage()), vi.getThreadId(), vi.getVideoUrl().
+ toString(), vi.getMessageUrl().toString(), vi.getUserId(), vi.getVideoLength(), oo);
+ }
+
+ @Override
+ public CommentInfo getWayBackKey(VideoInfo vi, String time) throws IOException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public File getComment(VideoInfo videoInfo, CommentInfo commentInfo, File file, TextProgressListener listener,
+ String com) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public File getTcomment(VideoInfo videoInfo, File file, TextProgressListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public File getVideo(VideoInfo videoInfo, File file, TextProgressListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isLoggedIn() {
+ return hasLogin;
+ }
+
+ private boolean login() {
+ return false;
+ }
+}