/* * Copyright (C) 2013-2015 RoboVM AB * * 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 org.robovm.apple.corefoundation; /*<imports>*/ import java.io.*; import java.nio.*; import java.util.*; import org.robovm.objc.*; import org.robovm.objc.annotation.*; import org.robovm.objc.block.*; import org.robovm.rt.*; import org.robovm.rt.annotation.*; import org.robovm.rt.bro.*; import org.robovm.rt.bro.annotation.*; import org.robovm.rt.bro.ptr.*; import org.robovm.apple.foundation.*; import org.robovm.apple.dispatch.*; import org.robovm.apple.coreservices.*; import org.robovm.apple.coremedia.*; import org.robovm.apple.uikit.*; import org.robovm.apple.coretext.*; /*</imports>*/ /*<javadoc>*/ /*</javadoc>*/ /*<annotations>*/@Library("CoreFoundation")/*</annotations>*/ /*<visibility>*/public/*</visibility>*/ class /*<name>*/CFBundle/*</name>*/ extends /*<extends>*/CFType/*</extends>*/ /*<implements>*//*</implements>*/ { public static class AsListMarshaler { @MarshalsPointer public static List<?> toObject(Class<? extends CFType> cls, long handle, long flags) { CFArray o = (CFArray) CFType.Marshaler.toObject(cls, handle, flags); if (o == null) { return null; } return o.toList(CFBundle.class); } @MarshalsPointer public static long toNative(List<? extends CFType> l, long flags) { if (l == null) { return 0L; } CFArray o = null; if (l instanceof CFArray) { o = (CFArray) l; } else { o = CFArray.create((List<? extends CFType>) l); } return CFType.Marshaler.toNative(o, flags); } } /*<ptr>*/public static class CFBundlePtr extends Ptr<CFBundle, CFBundlePtr> {}/*</ptr>*/ /*<bind>*/static { Bro.bind(CFBundle.class); }/*</bind>*/ /*<constants>*//*</constants>*/ /*<constructors>*/ protected CFBundle() {} /*</constructors>*/ /*<properties>*//*</properties>*/ /*<members>*//*</members>*/ /*<methods>*/ @Bridge(symbol="CFBundleGetMainBundle", optional=true) public static native CFBundle getMainBundle(); @Bridge(symbol="CFBundleGetBundleWithIdentifier", optional=true) public static native CFBundle getBundle(String bundleID); @Bridge(symbol="CFBundleGetAllBundles", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFBundle.AsListMarshaler.class) List<CFBundle> getAllBundles(); @Bridge(symbol="CFBundleGetTypeID", optional=true) public static native @MachineSizedUInt long getClassTypeID(); @Bridge(symbol="CFBundleCreate", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFBundle create(CFAllocator allocator, CFURL bundleURL); @Bridge(symbol="CFBundleCreateBundlesFromDirectory", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFBundle.AsListMarshaler.class) List<CFBundle> createBundlesFromDirectory(CFAllocator allocator, CFURL directoryURL, String bundleType); @Bridge(symbol="CFBundleCopyBundleURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getBundleURL(); @Bridge(symbol="CFBundleGetValueForInfoDictionaryKey", optional=true) public native CFType getValueForInfoDictionaryKey(String key); @Bridge(symbol="CFBundleGetInfoDictionary", optional=true) public native CFDictionary getInfoDictionary(); @Bridge(symbol="CFBundleGetLocalInfoDictionary", optional=true) public native CFDictionary getLocalInfoDictionary(); @Bridge(symbol="CFBundleGetPackageInfo", optional=true) public native void getPackageInfo(IntPtr packageType, IntPtr packageCreator); @Bridge(symbol="CFBundleGetIdentifier", optional=true) public native String getIdentifier(); @Bridge(symbol="CFBundleGetVersionNumber", optional=true) public native int getVersionNumber(); @Bridge(symbol="CFBundleGetDevelopmentRegion", optional=true) public native String getDevelopmentRegion(); @Bridge(symbol="CFBundleCopySupportFilesDirectoryURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getSupportFilesDirectoryURL(); @Bridge(symbol="CFBundleCopyResourcesDirectoryURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getResourcesDirectoryURL(); @Bridge(symbol="CFBundleCopyPrivateFrameworksURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getPrivateFrameworksURL(); @Bridge(symbol="CFBundleCopySharedFrameworksURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getSharedFrameworksURL(); @Bridge(symbol="CFBundleCopySharedSupportURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getSharedSupportURL(); @Bridge(symbol="CFBundleCopyBuiltInPlugInsURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getBuiltInPlugInsURL(); @Bridge(symbol="CFBundleCopyInfoDictionaryInDirectory", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFDictionary getInfoDictionaryInDirectory(CFURL bundleURL); @Bridge(symbol="CFBundleGetPackageInfoInDirectory", optional=true) public static native boolean getPackageInfoInDirectory(CFURL url, IntPtr packageType, IntPtr packageCreator); @Bridge(symbol="CFBundleCopyResourceURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getResourceURL(String resourceName, String resourceType, String subDirName); @Bridge(symbol="CFBundleCopyResourceURLsOfType", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getResourceURLsOfType(String resourceType, String subDirName); @Bridge(symbol="CFBundleCopyLocalizedString", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFString.AsStringNoRetainMarshaler.class) String getLocalizedString(String key, String value, String tableName); @Bridge(symbol="CFBundleCopyResourceURLInDirectory", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getResourceURLInDirectory(CFURL bundleURL, String resourceName, String resourceType, String subDirName); @Bridge(symbol="CFBundleCopyResourceURLsOfTypeInDirectory", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getResourceURLsOfTypeInDirectory(CFURL bundleURL, String resourceType, String subDirName); @Bridge(symbol="CFBundleCopyBundleLocalizations", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getBundleLocalizations(); @Bridge(symbol="CFBundleCopyPreferredLocalizationsFromArray", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getPreferredLocalizationsFromArray(CFArray locArray); @Bridge(symbol="CFBundleCopyLocalizationsForPreferences", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getLocalizationsForPreferences(CFArray locArray, CFArray prefArray); @Bridge(symbol="CFBundleCopyResourceURLForLocalization", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getResourceURLForLocalization(String resourceName, String resourceType, String subDirName, String localizationName); @Bridge(symbol="CFBundleCopyResourceURLsOfTypeForLocalization", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getResourceURLsOfTypeForLocalization(String resourceType, String subDirName, String localizationName); @Bridge(symbol="CFBundleCopyInfoDictionaryForURL", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFDictionary getInfoDictionaryForURL(CFURL url); @Bridge(symbol="CFBundleCopyLocalizationsForURL", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getLocalizationsForURL(CFURL url); /** * @since Available in iOS 2.0 and later. */ @Bridge(symbol="CFBundleCopyExecutableArchitecturesForURL", optional=true) public static native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getExecutableArchitecturesForURL(CFURL url); @Bridge(symbol="CFBundleCopyExecutableURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getExecutableURL(); /** * @since Available in iOS 2.0 and later. */ @Bridge(symbol="CFBundleCopyExecutableArchitectures", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFArray getExecutableArchitectures(); /** * @since Available in iOS 2.0 and later. */ @Bridge(symbol="CFBundlePreflightExecutable", optional=true) public native boolean preflightExecutable(CFError.CFErrorPtr error); /** * @since Available in iOS 2.0 and later. */ @Bridge(symbol="CFBundleLoadExecutableAndReturnError", optional=true) public native boolean loadExecutableAndReturnError(CFError.CFErrorPtr error); @Bridge(symbol="CFBundleLoadExecutable", optional=true) public native boolean loadExecutable(); @Bridge(symbol="CFBundleIsExecutableLoaded", optional=true) public native boolean isExecutableLoaded(); @Bridge(symbol="CFBundleUnloadExecutable", optional=true) public native void unloadExecutable(); @Bridge(symbol="CFBundleGetFunctionPointerForName", optional=true) public native VoidPtr getFunctionPointerForName(String functionName); @Bridge(symbol="CFBundleGetFunctionPointersForNames", optional=true) public native void getFunctionPointersForNames(CFArray functionNames, VoidPtr.VoidPtrPtr ftbl); @Bridge(symbol="CFBundleGetDataPointerForName", optional=true) public native VoidPtr getDataPointerForName(String symbolName); @Bridge(symbol="CFBundleGetDataPointersForNames", optional=true) public native void getDataPointersForNames(CFArray symbolNames, VoidPtr.VoidPtrPtr stbl); @Bridge(symbol="CFBundleCopyAuxiliaryExecutableURL", optional=true) public native @org.robovm.rt.bro.annotation.Marshaler(CFType.NoRetainMarshaler.class) CFURL getAuxiliaryExecutableURL(String executableName); @Bridge(symbol="CFBundleGetPlugIn", optional=true) public native CFPlugIn getPlugIn(); @Bridge(symbol="CFBundleOpenBundleResourceMap", optional=true) public native int openBundleResourceMap(); @Bridge(symbol="CFBundleOpenBundleResourceFiles", optional=true) public native int openBundleResourceFiles(IntPtr refNum, IntPtr localizedRefNum); @Bridge(symbol="CFBundleCloseBundleResourceMap", optional=true) public native void closeBundleResourceMap(int refNum); /*</methods>*/ }