core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv1BuildInfo.java
author timkelly
Tue, 10 Aug 2010 19:18:52 -0500
branchC3_BUILDER_WORK
changeset 1802 7e50573a0115
parent 1801 1d73a4591cf8
parent 1799 ee7381872847
child 1803 9482220f0b7b
permissions -rw-r--r--
merge commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     1
/*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     3
* All rights reserved.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     4
* This component and the accompanying materials are made available
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     6
* which accompanies this distribution, and is available
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     8
*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
     9
* Initial Contributors:
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    11
*
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    12
*/
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    13
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    14
package com.nokia.carbide.cpp.internal.api.sdk;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    15
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    16
import java.util.List;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    17
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    18
import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    19
import com.nokia.carbide.cpp.sdk.core.ISBVCatalog;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    20
import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
1710
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
    21
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    22
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    23
/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    24
 * Interface for SBSv1 specific build information.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    25
 * @since 3.0
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    26
 * @deprecated - Temporary support exists for abld on Symbian^2 but will be removed, vFuture
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    27
 *
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    28
 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    29
public interface ISBSv1BuildInfo extends ISDKBuildInfo {
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    30
	
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    31
	/**
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    32
	 * Clears the list of macros specific to all abld build platforms
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    33
	 * @deprecated
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    34
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    35
	void clearPlatformMacros();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    36
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    37
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    38
	 * Returns the list of all available platforms for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    39
	 * @return a list of platform names which may be empty.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    40
	 * @deprecated
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    41
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    42
	List<String> getAvailablePlatforms();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    43
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    44
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    45
	 * Get the BSF catalog for a SDK.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    46
	 * @deprecated
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    47
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    48
	IBSFCatalog getBSFCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    49
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    50
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    51
	 * Returns the list of all platform macros for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    52
	 * <p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    53
	 * This is somewhat equivalent to calling "bldmake plat" on the command line
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    54
	 * These are the macros that can be used in MMP and INF files. They are only given by name (no value)
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    55
	 * </p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    56
	 * @param platform the platform name
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    57
	 * @return a list of macros, which may be empty.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    58
	 * @deprecated
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    59
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    60
	List<String> getPlatformMacros(String platform);
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    61
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    62
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    63
	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    64
	 * @deprecated
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    65
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    66
	ISBVCatalog getSBVCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    67
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    68
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    69
	 * Get a list of macros specific to the given target type, e.g. "__EXE__" or "__DLL__"
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    70
	 * @param targettype
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    71
	 * @return list of macro strings, may be empty
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    72
	 * @deprecated
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    73
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    74
	List<String> getTargetTypeMacros(String targettype);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    75
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    76
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    77
	 * Get a list of macros that are used to distinguish a SDK. Typically only
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    78
	 * S603rd edition SDKs contain this information and it's used to differentiate between
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    79
	 * varios S60 SDK releases. Other vendors, such as UIQ may put their macros in the variant HRH file.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    80
	 * @return A list of macros just returned by name.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    81
	 * @deprecated
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    82
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    83
	public List<String> getVendorSDKMacros();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    84
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    85
	/**
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    86
	 * Tells whether or not the plug-in installer has sniffed this SDK for eclipse plug-ins to install.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    87
	 * @return true if the SDK was scanned
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    88
	 * @deprecated
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    89
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    90
	boolean isPreviouslyScanned();
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    91
	
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    92
	/**
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    93
	 * @deprecated
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
    94
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    95
	void setPreviouslyScanned(boolean wasScanned);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    96
1710
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
    97
	/**
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
    98
	 * Returns the list of all built in macros for this configuration. This is ABLD specific. SBSv2 gets these macros from the --query=config.
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
    99
	 * <p>
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   100
	 * Macros will be just a name, e.g. "_DEBUG", "__SYMBIAN32__", etc..
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   101
	 * </p>
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   102
	 *
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   103
	 * @return a list of macros which may be empty.
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
   104
	 * @deprecated
1710
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   105
	 */
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   106
	List<String> getBuiltinMacros(ISymbianBuildContext context);
94cdcd7c5550 Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1.
timkelly
parents: 1667
diff changeset
   107
1736
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   108
	/**
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   109
	 * Get a list of supported targettypes listed by this SDK. This routine parses the 
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   110
	 * \epoc32\tools\trgttype.pm file to build it's list.
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   111
	 * @return A list of targettype names that can be used in an MMP file
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
   112
	 * @deprecated
1736
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   113
	 */
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   114
	List<String> getSupportedTargetTypes();
ba74c19c6de3 fix bug 11762. Fix targettypes for MMP editor to retrieve properly depending on whether build config is SBsv1 or SBSv2.
timkelly
parents: 1710
diff changeset
   115
	
1799
ee7381872847 mark abld-specific methods as deprecated
timkelly
parents: 1736
diff changeset
   116
	 * @deprecated
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   117
}