core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv1BuildInfo.java
author stechong
Fri, 11 Jun 2010 12:09:52 -0500
branchC3_BUILDER_WORK
changeset 1462 b38491fd06da
parent 1434 79471fd1fd69
child 1667 352fb86872dd
permissions -rw-r--r--
More ISymbianSDK refactoring.
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;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    21
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    22
/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    23
 * Interface for SBSv1 specific build information.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    24
 *
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    25
 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    26
public interface ISBSv1BuildInfo extends ISDKBuildInfo {
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    27
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    28
	// Family Ids don't include the vendor
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    29
	public static final String SERIES60_FAMILY_ID = "series60"; //deprecated
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    30
	public static final String S60_FAMILY_ID = "s60";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    31
	public static final String S80_FAMILY_ID = "Series80";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    32
	public static final String UIQ_FAMILY_ID = "UIQ";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    33
	public static final String TECHVIEW_FAMILY_ID = "TechView";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    34
	public static final String SYMBIAN_FOUNDATION_FAMILY_ID = "symbian"; // Symbian Foundation, starting with Symbian^3
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    35
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    36
	// Unique Ids include the vendor
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    37
	public static final String SERIES60_SDK_NAME = "com.nokia." + SERIES60_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    38
	public static final String S60_SDK_NAME = "com.nokia." + S60_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    39
	public static final String NOKIA_SF_SDK_NAME = "com.nokia." + SYMBIAN_FOUNDATION_FAMILY_ID; // Nokia+Symbian Foundation SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    40
	public static final String S80_SDK_NAME = "com.nokia." + S80_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    41
	public static final String UIQ_SDK_NAME = "com.symbian." + UIQ_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    42
	public static final String TECHVIEW_SDK_NAME = "com.symbian." + TECHVIEW_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    43
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    44
	public static final String PUBLISHER_NOKIA = "Nokia, Inc.";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    45
	public static final String PUBLISHER_UIQ = "UIQ Technology";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    46
	public static final String PUBLISHER_SYMBIAN = "Symbian, Ltd.";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    47
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    48
	void clearPlatformMacros();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    49
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    50
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    51
	 * Returns the list of all available platforms for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    52
	 * @return a list of platform names which may be empty.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    53
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    54
	List<String> getAvailablePlatforms();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    55
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    56
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    57
	 * Get the BSF catalog for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    58
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    59
	IBSFCatalog getBSFCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    60
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    61
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    62
	 * Returns the list of all platform macros for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    63
	 * <p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    64
	 * This is somewhat equivalent to calling "bldmake plat" on the command line
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    65
	 * 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
    66
	 * </p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    67
	 * @param platform the platform name
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    68
	 * @return a list of macros, which may be empty.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    69
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    70
	List<String> getPlatformMacros(String platform);
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    71
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    72
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    73
	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    74
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    75
	ISBVCatalog getSBVCatalog();
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    76
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    77
	/**
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    78
	 * 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
    79
	 * @param targettype
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    80
	 * @return list of macro strings, may be empty
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    81
	 */
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    82
	List<String> getTargetTypeMacros(String targettype);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    83
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    84
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    85
	 * Get a list of macros that are used to distinguish a SDK. Typically only
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    86
	 * S603rd edition SDKs contain this information and it's used to differentiate between
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    87
	 * 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
    88
	 * @return A list of macros just returned by name.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    89
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    90
	public List<String> getVendorSDKMacros();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    91
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    92
	/**
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    93
	 * 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
    94
	 * @return true if the SDK was scanned
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    95
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
    96
	boolean isPreviouslyScanned();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    97
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    98
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    99
	 * Tell if the SDK is Series60.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   100
	 * @return true if the SDK is Series60
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   101
	 */
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
   102
	boolean isS60();
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   103
1462
b38491fd06da More ISymbianSDK refactoring.
stechong
parents: 1434
diff changeset
   104
	void setPreviouslyScanned(boolean wasScanned);
1434
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   105
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   106
}