summaryrefslogtreecommitdiffstats
path: root/depends/launcher/org/multimc/EntryPoint.java
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-04-10 15:53:05 +0200
committerPetr Mrázek <peterix@gmail.com>2016-05-01 00:00:14 +0200
commitb6d455a02bd338e9dc0faa09d4d8177ecd8d569a (patch)
tree41982bca1ede50049f2f8c7109dd18edeefde6d0 /depends/launcher/org/multimc/EntryPoint.java
parent47e37635f50c09b4f9a9ee7699e3120bab3e4088 (diff)
downloadMultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.gz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.lz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.xz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.zip
NOISSUE reorganize and document libraries
Diffstat (limited to 'depends/launcher/org/multimc/EntryPoint.java')
-rw-r--r--depends/launcher/org/multimc/EntryPoint.java178
1 files changed, 0 insertions, 178 deletions
diff --git a/depends/launcher/org/multimc/EntryPoint.java b/depends/launcher/org/multimc/EntryPoint.java
deleted file mode 100644
index d1fc54a8..00000000
--- a/depends/launcher/org/multimc/EntryPoint.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.multimc;/*
- * Copyright 2012-2014 MultiMC Contributors
- *
- * 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.
- */
-
-import org.multimc.legacy.LegacyLauncher;
-import org.multimc.onesix.OneSixLauncher;
-import org.simplericity.macify.eawt.Application;
-import org.simplericity.macify.eawt.DefaultApplication;
-
-import javax.imageio.ImageIO;
-import java.awt.image.BufferedImage;
-import java.io.*;
-import java.nio.charset.Charset;
-
-public class EntryPoint
-{
- private enum Action
- {
- Proceed,
- Launch,
- Abort
- }
-
- public static void main(String[] args)
- {
- // Set the OSX application icon first, if we are on OSX.
- Application application = new DefaultApplication();
- if(application.isMac())
- {
- try
- {
- BufferedImage image = ImageIO.read(new File("icon.png"));
- application.setApplicationIconImage(image);
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
-
- EntryPoint listener = new EntryPoint();
- int retCode = listener.listen();
- if (retCode != 0)
- {
- System.out.println("Exiting with " + retCode);
- System.exit(retCode);
- }
- }
-
- private Action parseLine(String inData) throws ParseException
- {
- String[] pair = inData.split(" ", 2);
-
- if(pair.length == 1)
- {
- String command = pair[0];
- if (pair[0].equals("launch"))
- return Action.Launch;
-
- else if (pair[0].equals("abort"))
- return Action.Abort;
-
- else throw new ParseException();
- }
-
- if(pair.length != 2)
- throw new ParseException();
-
- String command = pair[0];
- String param = pair[1];
-
- if(command.equals("launcher"))
- {
- if(param.equals("legacy"))
- {
- m_launcher = new LegacyLauncher();
- Utils.log("Using legacy launcher.");
- Utils.log();
- return Action.Proceed;
- }
- if(param.equals("onesix"))
- {
- m_launcher = new OneSixLauncher();
- Utils.log("Using onesix launcher.");
- Utils.log();
- return Action.Proceed;
- }
- else
- throw new ParseException();
- }
-
- m_params.add(command, param);
- //System.out.println(command + " : " + param);
- return Action.Proceed;
- }
-
- public int listen()
- {
- BufferedReader buffer;
- try
- {
- buffer = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
- } catch (UnsupportedEncodingException e)
- {
- System.err.println("For some reason, your java does not support UTF-8. Consider living in the current century.");
- e.printStackTrace();
- return 1;
- }
- boolean isListening = true;
- boolean isAborted = false;
- // Main loop
- while (isListening)
- {
- String inData;
- try
- {
- // Read from the pipe one line at a time
- inData = buffer.readLine();
- if (inData != null)
- {
- Action a = parseLine(inData);
- if(a == Action.Abort)
- {
- isListening = false;
- isAborted = true;
- }
- if(a == Action.Launch)
- {
- isListening = false;
- }
- }
- else
- {
- isListening = false;
- isAborted = true;
- }
- }
- catch (IOException e)
- {
- System.err.println("Launcher ABORT due to IO exception:");
- e.printStackTrace();
- return 1;
- }
- catch (ParseException e)
- {
- System.err.println("Launcher ABORT due to PARSE exception:");
- e.printStackTrace();
- return 1;
- }
- }
- if(isAborted)
- {
- System.err.println("Launch aborted by MultiMC.");
- return 1;
- }
- if(m_launcher != null)
- {
- return m_launcher.launch(m_params);
- }
- System.err.println("No valid launcher implementation specified.");
- return 1;
- }
-
- private ParamBucket m_params = new ParamBucket();
- private org.multimc.Launcher m_launcher;
-}