From 9f9d726e5c2b83d51d3165f98bff859fc7defc55 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Thu, 25 Oct 2018 16:19:47 +0200 Subject: [PATCH] Add site Camsoda Add new package and classes for camsoda.com --- .../java/ctbrec/sites/camsoda/Camsoda.java | 111 ++++++++++++++++++ .../ctbrec/sites/camsoda/CamsodaModel.java | 76 ++++++++++++ .../sites/camsoda/CamsodaTabProvider.java | 17 +++ .../java/ctbrec/ui/CamrecApplication.java | 2 + 4 files changed, 206 insertions(+) create mode 100644 src/main/java/ctbrec/sites/camsoda/Camsoda.java create mode 100644 src/main/java/ctbrec/sites/camsoda/CamsodaModel.java create mode 100644 src/main/java/ctbrec/sites/camsoda/CamsodaTabProvider.java diff --git a/src/main/java/ctbrec/sites/camsoda/Camsoda.java b/src/main/java/ctbrec/sites/camsoda/Camsoda.java new file mode 100644 index 00000000..4cf02389 --- /dev/null +++ b/src/main/java/ctbrec/sites/camsoda/Camsoda.java @@ -0,0 +1,111 @@ +package ctbrec.sites.camsoda; + +import java.io.IOException; + +import ctbrec.Model; +import ctbrec.io.HttpClient; +import ctbrec.recorder.Recorder; +import ctbrec.sites.Site; +import ctbrec.ui.TabProvider; +import javafx.scene.Node; + +public class Camsoda implements Site { + + private Recorder recorder; + private HttpClient httpClient; + + @Override + public String getName() { + return "CamSoda"; + } + + @Override + public String getBaseUrl() { + return "https://www.camsoda.com"; + } + + @Override + public String getAffiliateLink() { + return ""; + } + + @Override + public void setRecorder(Recorder recorder) { + this.recorder = recorder; + } + + @Override + public TabProvider getTabProvider() { + return new CamsodaTabProvider(); + } + + @Override + public Model createModel(String name) { + CamsodaModel model = new CamsodaModel(); + model.setName(name); + model.setUrl(getBaseUrl() + "/" + name); + return model; + } + + @Override + public Integer getTokenBalance() throws IOException { + return 0; + } + + @Override + public String getBuyTokensLink() { + return getBaseUrl(); + } + + @Override + public void login() throws IOException { + httpClient.login(); + } + + @Override + public HttpClient getHttpClient() { + return httpClient; + } + + @Override + public void init() throws IOException { + httpClient = new HttpClient() { + @Override + public boolean login() throws IOException { + return false; + } + + }; + } + + @Override + public void shutdown() { + httpClient.shutdown(); + } + + @Override + public boolean supportsTips() { + return false; + } + + @Override + public boolean supportsFollow() { + return false; + } + + @Override + public boolean isSiteForModel(Model m) { + return m instanceof CamsodaModel; + } + + @Override + public Node getConfigurationGui() { + return null; + } + + @Override + public boolean credentialsAvailable() { + return false; + } + +} diff --git a/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java b/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java new file mode 100644 index 00000000..dc1b2c24 --- /dev/null +++ b/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java @@ -0,0 +1,76 @@ +package ctbrec.sites.camsoda; + +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +import com.iheartradio.m3u8.ParseException; +import com.iheartradio.m3u8.PlaylistException; + +import ctbrec.AbstractModel; +import ctbrec.recorder.download.StreamSource; +import ctbrec.sites.Site; + +public class CamsodaModel extends AbstractModel { + + @Override + public boolean isOnline() throws IOException, ExecutionException, InterruptedException { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException { + // TODO Auto-generated method stub + return false; + } + + @Override + public String getOnlineState(boolean failFast) throws IOException, ExecutionException { + // TODO Auto-generated method stub + return null; + } + + @Override + public List getStreamSources() throws IOException, ExecutionException, ParseException, PlaylistException { + // TODO Auto-generated method stub + return null; + } + + @Override + public void invalidateCacheEntries() { + // TODO Auto-generated method stub + + } + + @Override + public void receiveTip(int tokens) throws IOException { + // TODO Auto-generated method stub + + } + + @Override + public int[] getStreamResolution(boolean failFast) throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean follow() throws IOException { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean unfollow() throws IOException { + // TODO Auto-generated method stub + return false; + } + + @Override + public void setSite(Site site) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/main/java/ctbrec/sites/camsoda/CamsodaTabProvider.java b/src/main/java/ctbrec/sites/camsoda/CamsodaTabProvider.java new file mode 100644 index 00000000..0a4d205b --- /dev/null +++ b/src/main/java/ctbrec/sites/camsoda/CamsodaTabProvider.java @@ -0,0 +1,17 @@ +package ctbrec.sites.camsoda; + +import java.util.Collections; +import java.util.List; + +import ctbrec.ui.TabProvider; +import javafx.scene.Scene; +import javafx.scene.control.Tab; + +public class CamsodaTabProvider extends TabProvider { + + @Override + public List getTabs(Scene scene) { + return Collections.emptyList(); + } + +} diff --git a/src/main/java/ctbrec/ui/CamrecApplication.java b/src/main/java/ctbrec/ui/CamrecApplication.java index 8771fdd9..7cbaacf4 100644 --- a/src/main/java/ctbrec/ui/CamrecApplication.java +++ b/src/main/java/ctbrec/ui/CamrecApplication.java @@ -26,6 +26,7 @@ import ctbrec.recorder.LocalRecorder; import ctbrec.recorder.Recorder; import ctbrec.recorder.RemoteRecorder; import ctbrec.sites.Site; +import ctbrec.sites.camsoda.Camsoda; import ctbrec.sites.chaturbate.Chaturbate; import ctbrec.sites.mfc.MyFreeCams; import javafx.application.Application; @@ -59,6 +60,7 @@ public class CamrecApplication extends Application { public void start(Stage primaryStage) throws Exception { sites.add(new Chaturbate()); sites.add(new MyFreeCams()); + sites.add(new Camsoda()); loadConfig(); createHttpClient(); bus = new AsyncEventBus(Executors.newSingleThreadExecutor());