core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv1BuildInfo.java
author timkelly
Wed, 28 Jul 2010 15:19:12 -0500
branchC3_BUILDER_WORK
changeset 1710 94cdcd7c5550
parent 1667 352fb86872dd
child 1736 ba74c19c6de3
permissions -rw-r--r--
Refactor getBuiltInMacros() to be SBSv1 specific. This are the hard-coded macros misc macros we are adding for SBSv1. For SBSv2, they are retrieved from the sbs config query. Also, clean up some API and comments on public APIS
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.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    25
 *
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    26
 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    27
public interface ISBSv1BuildInfo extends ISDKBuildInfo {
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    28
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    29
	void clearPlatformMacros();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    30
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    31
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    32
	 * Returns the list of all available platforms for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    33
	 * @return a list of platform names which may be empty.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    34
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    35
	List<String> getAvailablePlatforms();
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
	 * Get the BSF catalog for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    39
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    40
	IBSFCatalog getBSFCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    41
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    42
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    43
	 * Returns the list of all platform macros for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    44
	 * <p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    45
	 * This is somewhat equivalent to calling "bldmake plat" on the command line
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    46
	 * 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
    47
	 * </p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    48
	 * @param platform the platform name
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    49
	 * @return a list of macros, which may be empty.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    50
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    51
	List<String> getPlatformMacros(String platform);
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    52
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    53
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    54
	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    55
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    56
	ISBVCatalog getSBVCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    57
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    58
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    59
	 * 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
    60
	 * @param targettype
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    61
	 * @return list of macro strings, may be empty
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    62
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    63
	List<String> getTargetTypeMacros(String targettype);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    64
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    65
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    66
	 * Get a list of macros that are used to distinguish a SDK. Typically only
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    67
	 * S603rd edition SDKs contain this information and it's used to differentiate between
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    68
	 * 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
    69
	 * @return A list of macros just returned by name.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    70
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    71
	public List<String> getVendorSDKMacros();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    72
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    73
	/**
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    74
	 * 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
    75
	 * @return true if the SDK was scanned
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    76
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    77
	boolean isPreviouslyScanned();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    78
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    79
	void setPreviouslyScanned(boolean wasScanned);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    80
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
    81
	/**
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
    82
	 * 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
    83
	 * <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
    84
	 * 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
    85
	 * </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
    86
	 *
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
    87
	 * @return a list of macros which may be empty.
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
    88
	 */
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
    89
	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
    90
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    91
}