/******************************************************************************* * Copyright 2011 See AUTHORS file. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. ******************************************************************************/ package com.badlogic.gdx.backends.lwjgl; import java.awt.Desktop; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Net; import com.badlogic.gdx.StreamUtils; import com.badlogic.gdx.net.NetJavaImpl; import com.badlogic.gdx.net.ServerSocket; import com.badlogic.gdx.net.ServerSocketHints; import com.badlogic.gdx.net.Socket; import com.badlogic.gdx.net.SocketHints; import com.badlogic.gdx.utils.GdxRuntimeException; /** * LWJGL implementation of the {@link Net} API, it could be reused in other Desktop backends since it doesn't depend on * LWJGL. * * @author acoppes */ public class LwjglNet implements Net { NetJavaImpl netJavaImpl = new NetJavaImpl(); @Override public void sendHttpRequest(HttpRequest httpRequest, HttpResponseListener httpResponseListener) { netJavaImpl.sendHttpRequest(httpRequest, httpResponseListener); } @Override public ServerSocket newServerSocket(Protocol protocol, int port, ServerSocketHints hints) { return new LwjglServerSocket(protocol, port, hints); } @Override public Socket newClientSocket(Protocol protocol, String host, int port, SocketHints hints) { return new LwjglSocket(protocol, host, port, hints); } @Override public void openURI(String URI) { if (!Desktop.isDesktopSupported()) return; Desktop desktop = Desktop.getDesktop(); if (!desktop.isSupported(Desktop.Action.BROWSE)) return; try { desktop.browse(new java.net.URI(URI)); } catch (Exception e) { throw new GdxRuntimeException(e); } } }