/******************************************************************************* * 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.iosrobovm; import org.robovm.apple.foundation.NSBundle; import com.badlogic.gdx.Files; import com.badlogic.gdx.files.FileHandle; public class IOSFiles implements Files { // TODO: Use NSSearchPathForDirectoriesInDomains instead? // $HOME should point to the app root dir. static final String appDir = System.getenv("HOME"); static final String externalPath = appDir + "/Documents/"; static final String localPath = appDir + "/Library/local/"; static final String internalPath = NSBundle.getMainBundle().getBundlePath(); public IOSFiles () { new FileHandle(externalPath).mkdirs(); new FileHandle(localPath).mkdirs(); } @Override public FileHandle getFileHandle (String fileName, FileType type) { return new IOSFileHandle(fileName, type); } @Override public FileHandle classpath (String path) { return new IOSFileHandle(path, FileType.Classpath); } @Override public FileHandle internal (String path) { return new IOSFileHandle(path, FileType.Internal); } @Override public FileHandle external (String path) { return new IOSFileHandle(path, FileType.External); } @Override public FileHandle absolute (String path) { return new IOSFileHandle(path, FileType.Absolute); } @Override public FileHandle local (String path) { return new IOSFileHandle(path, FileType.Local); } @Override public String getExternalStoragePath () { return externalPath; } @Override public boolean isExternalStorageAvailable () { return true; } @Override public String getLocalStoragePath () { return localPath; } @Override public boolean isLocalStorageAvailable () { return true; } }