core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv2BuildInfo.java
branchC3_BUILDER_WORK
changeset 1462 b38491fd06da
parent 1434 79471fd1fd69
child 1471 62024a5fa81d
equal deleted inserted replaced
1460:26f585ac8a88 1462:b38491fd06da
    11 *
    11 *
    12 */
    12 */
    13 
    13 
    14 package com.nokia.carbide.cpp.internal.api.sdk;
    14 package com.nokia.carbide.cpp.internal.api.sdk;
    15 
    15 
    16 import java.io.File;
       
    17 import java.util.List;
    16 import java.util.List;
    18 
    17 
    19 import org.eclipse.core.runtime.IPath;
    18 import org.eclipse.core.runtime.IPath;
    20 
    19 
    21 import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
    20 import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
    22 import com.nokia.carbide.cpp.sdk.core.ISBVCatalog;
    21 import com.nokia.carbide.cpp.sdk.core.ISBVCatalog;
    23 import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
    22 import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
    24 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
       
    25 
    23 
    26 /**
    24 /**
    27  * Interface for SBSv2 specific build information.
    25  * Interface for SBSv2 specific build information.
    28  *
    26  *
    29  */
    27  */
    30 public interface ISBSv2BuildInfo extends ISDKBuildInfo {
    28 public interface ISBSv2BuildInfo extends ISDKBuildInfo {
    31 
    29 
       
    30 	void clearPlatformMacros();
       
    31 
       
    32 	/**
       
    33 	 * Get the BSF catalog for a SDK.
       
    34 	 */
       
    35 	IBSFCatalog getBSFCatalog();
       
    36 
    32 	/**
    37 	/**
    33 	 * Returns the list of all platform macros for a SDK.
    38 	 * Returns the list of all platform macros for a SDK.
    34 	 * <p>
    39 	 * <p>
    35 	 * This is somewhat equivalent to calling "bldmake plat" on the command line
    40 	 * This is somewhat equivalent to calling "bldmake plat" on the command line
    36 	 * These are the macros that can be used in MMP and INF files. They are only given by name (no value)
    41 	 * These are the macros that can be used in MMP and INF files. They are only given by name (no value)
    37 	 * </p>
    42 	 * </p>
    38 	 * @param sdk Symbian SDK
       
    39 	 * @param platform the platform name
    43 	 * @param platform the platform name
    40 	 * @return a list of macros, which may be empty.
    44 	 * @return a list of macros, which may be empty.
    41 	 */
    45 	 */
    42 	List<String> getPlatformMacros(ISymbianSDK sdk, String platform);
    46 	List<String> getPlatformMacros(String platform);
       
    47 
       
    48 	/**
       
    49 	 * Get the full path to the prefix file defined under \epoc32\tools\variant\variant.cfg
       
    50 	 * @return A path object, or null if the variant.cfg does not exist. This routine does not check to see if the returned path exists.
       
    51 	 */
       
    52 	public IPath getPrefixFromVariantCfg();
       
    53 
       
    54 	/**
       
    55 	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
       
    56 	 */
       
    57 	ISBVCatalog getSBVCatalog();
    43 
    58 
    44 	/**
    59 	/**
    45 	 * Get a list of macros specific to the given target type, e.g. "__EXE__" or "__DLL__"
    60 	 * Get a list of macros specific to the given target type, e.g. "__EXE__" or "__DLL__"
    46 	 * @param sdk Symbian SDK
       
    47 	 * @param targettype
    61 	 * @param targettype
    48 	 * @return list of macro strings, may be empty
    62 	 * @return list of macro strings, may be empty
    49 	 */
    63 	 */
    50 	List<String> getTargetTypeMacros(ISymbianSDK sdk, String targettype);
    64 	List<String> getTargetTypeMacros(String targettype);
    51 
       
    52 	/**
       
    53 	 * Returns the list of all available platforms for a SDK.
       
    54 	 * @param sdk Symbian SDK
       
    55 	 * @return a list of platform names which may be empty.
       
    56 	 */
       
    57 	List<String> getAvailablePlatforms(ISymbianSDK sdk);
       
    58 
       
    59 	/**
       
    60 	 * Returns an IPath for the epoc32\include directory of a SDK.
       
    61 	 * @param sdk Symbian SDK
       
    62 	 * @return an IPath for the epoc32\include directory, or <code>null</code>.
       
    63 	 */
       
    64 	IPath getIncludePath(ISymbianSDK sdk);
       
    65 
       
    66 	/**
       
    67 	 * Returns the File object for the prefix file for a SDK.
       
    68 	 * @param sdk Symbian SDK
       
    69 	 * @return the File object for the prefix file, or
       
    70 	 * <code>null</code> if there isn't one for the SDK.
       
    71 	 */
       
    72 	File getPrefixFile(ISymbianSDK sdk);
       
    73 
       
    74 	/**
       
    75 	 * Get the BSF catalog for a SDK.
       
    76 	 * @param sdk Symbian SDK
       
    77 	 */
       
    78 	IBSFCatalog getBSFCatalog(ISymbianSDK sdk);
       
    79 
       
    80 	/**
       
    81 	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
       
    82 	 * @param sdk Symbian SDK
       
    83 	 * @since 2.0
       
    84 	 */
       
    85 	ISBVCatalog getSBVCatalog(ISymbianSDK sdk);
       
    86 
    65 
    87 	/**
    66 	/**
    88 	 * Tells whether or not the plug-in installer has sniffed this SDK for eclipse plug-ins to install.
    67 	 * Tells whether or not the plug-in installer has sniffed this SDK for eclipse plug-ins to install.
    89 	 * @param sdk Symbian SDK
       
    90 	 * @return true if the SDK was scanned.
    68 	 * @return true if the SDK was scanned.
    91 	 * @since 2.0
    69 	 * @since 2.0
    92 	 */
    70 	 */
    93 	boolean isPreviouslyScanned(ISymbianSDK sdk);
    71 	boolean isPreviouslyScanned();
    94 
    72 
    95 	void setPreviouslyScanned(ISymbianSDK sdk, boolean wasScanned);
    73 	void setPreviouslyScanned(boolean wasScanned);
    96 	void setPrefixFile(ISymbianSDK sdk, IPath prefixFile);
       
    97 
    74 
    98 }
    75 }