core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/ISBSv1BuildInfo.java
author stechong
Mon, 07 Jun 2010 20:50:55 -0500
branchC3_BUILDER_WORK
changeset 1434 79471fd1fd69
child 1462 b38491fd06da
permissions -rw-r--r--
First pass refactoring ISymbianSDK.
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.io.File;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    17
import java.net.URL;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    18
import java.util.Date;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    19
import java.util.List;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    20
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    21
import org.eclipse.core.runtime.IPath;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    22
import org.osgi.framework.Version;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    23
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    24
import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    25
import com.nokia.carbide.cpp.sdk.core.ISBVCatalog;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    26
import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    27
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    28
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    29
/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    30
 * Interface for SBSv1 specific build information.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    31
 *
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    32
 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    33
public interface ISBSv1BuildInfo extends ISDKBuildInfo {
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    34
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    35
	/** Branch identifier to note Beech branch, OS 8.1a and prior */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    36
	public static final String EKA1_A_BRANCH_IDENTIFIER = "a";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    37
	/** Branch identifier to note S branch, OS 7.0x */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    38
	public static final String EKA1_S_BRANCH_IDENTIFIER = "s";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    39
	/** Branch identifier to note Cedar branch, OS 8.0b and later (not used for OS 9.x and greater) */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    40
	public static final String EKA2_B_BRANCH_IDENTIFIER = "b";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    41
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    42
	// Family Ids don't include the vendor
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    43
	public static final String SERIES60_FAMILY_ID = "series60"; //deprecated
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    44
	public static final String S60_FAMILY_ID = "s60";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    45
	public static final String S80_FAMILY_ID = "Series80";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    46
	public static final String UIQ_FAMILY_ID = "UIQ";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    47
	public static final String TECHVIEW_FAMILY_ID = "TechView";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    48
	public static final String SYMBIAN_FOUNDATION_FAMILY_ID = "symbian"; // Symbian Foundation, starting with Symbian^3
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    49
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    50
	// Unique Ids include the vendor
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    51
	public static final String SERIES60_SDK_NAME = "com.nokia." + SERIES60_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    52
	public static final String S60_SDK_NAME = "com.nokia." + S60_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    53
	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
    54
	public static final String S80_SDK_NAME = "com.nokia." + S80_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    55
	public static final String UIQ_SDK_NAME = "com.symbian." + UIQ_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    56
	public static final String TECHVIEW_SDK_NAME = "com.symbian." + TECHVIEW_FAMILY_ID;
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    57
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    58
	public static final String PUBLISHER_NOKIA = "Nokia, Inc.";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    59
	public static final String PUBLISHER_UIQ = "UIQ Technology";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    60
	public static final String PUBLISHER_SYMBIAN = "Symbian, Ltd.";
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    61
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    62
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    63
	 * Returns the list of all platform macros for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    64
	 * <p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    65
	 * This is somewhat equivalent to calling "bldmake plat" on the command line
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    66
	 * 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
    67
	 * </p>
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    68
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    69
	 * @param platform the platform name
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    70
	 * @return a list of macros, which may be empty.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    71
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    72
	List<String> getPlatformMacros(ISymbianSDK sdk, String platform);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    73
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    74
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    75
	 * Get a list of macros that are used to distinguish a SDK. Typically only
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    76
	 * S603rd edition SDKs contain this information and it's used to differentiate between
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    77
	 * 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
    78
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    79
	 * @return A list of macros just returned by name.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    80
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    81
	public List<String> getVendorSDKMacros(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    82
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    83
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    84
	 * Returns the list of all available platforms for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    85
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    86
	 * @return a list of platform names which may be empty.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    87
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    88
	List<String> getAvailablePlatforms(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    89
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    90
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    91
	 * Returns the display name of a SDK. This is the com.vendor.family identifier.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    92
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    93
	 * @return the name of a sdk.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    94
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    95
	String getName(ISymbianSDK sdk);  
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    96
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    97
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    98
	 * Returns the vendor name of this SDK. This is parsed from the 'name' attribute from devices.xml.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
    99
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   100
	 * @return the vendor name of a sdk.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   101
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   102
	String getVendor(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   103
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   104
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   105
	 * Returns the family name of a SDK. This is parsed from the 'vendor' attribute from devices.xml.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   106
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   107
	 * @return the family name of a sdk.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   108
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   109
	String getFamily(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   110
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   111
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   112
	 * Returns the SDK version string of a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   113
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   114
	 * @return the SDK Version object. If the version cannot be determined it will be "0.0".
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   115
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   116
	Version getSDKVersion(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   117
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   118
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   119
	 * Returns the File object for the prefix file for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   120
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   121
	 * @return the File object for the prefix file, or
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   122
	 * <code>null</code> if there isn't one for the SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   123
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   124
	File getPrefixFile(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   125
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   126
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   127
	 * Returns an IPath for the epoc32\tools directory of a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   128
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   129
	 * @return an IPath for the epoc32\tools directory, or <code>null</code>.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   130
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   131
	IPath getToolsPath(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   132
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   133
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   134
	 * Returns an IPath for the epoc32\release directory of a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   135
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   136
	 * @return an IPath for the epoc32\release directory, or <code>null</code>.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   137
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   138
	IPath getReleaseRoot(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   139
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   140
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   141
	 * Returns an IPath for the epoc32\include directory of a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   142
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   143
	 * @return an IPath for the epoc32\include directory, or <code>null</code>.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   144
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   145
	IPath getIncludePath(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   146
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   147
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   148
	 * Get the human readable description of a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   149
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   150
	 * @return The description string, empty string for none.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   151
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   152
	String getSDKDescription(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   153
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   154
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   155
	 * Get the creation date of the manifest.xml
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   156
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   157
	 * @return a Date object
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   158
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   159
	Date getCreationDate(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   160
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   161
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   162
	 * Get the licese file location in a SDK. Comes from manifest.xml.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   163
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   164
	 * @return File, full path to the license file.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   165
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   166
	File getLicenseFile(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   167
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   168
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   169
	 * Get the branch qualifier for the OS. Typically "a" or "b" to denote the Beech and Cedar code branchs respectively.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   170
	 * This is typically used to denote EKA1 from EKA2.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   171
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   172
	 * @return the branch, or empty string if none.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   173
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   174
	String getSDKOSBranch(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   175
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   176
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   177
	 * Get the HTTP location for the SDK publisher. Comes from manifest.xml.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   178
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   179
	 * @return A (hopefully) valid URL.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   180
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   181
	URL getPublisherURL(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   182
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   183
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   184
	 * Get the publisher name present in manifest.xml
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   185
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   186
	 * @return The name entry or empty string if not present.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   187
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   188
	String getPublisherName(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   189
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   190
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   191
	 * Get a list of macros specific to the given target type, e.g. "__EXE__" or "__DLL__"
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   192
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   193
	 * @param targettype
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   194
	 * @return list of macro strings, may be empty
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   195
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   196
	List<String> getTargetTypeMacros(ISymbianSDK sdk, String targettype);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   197
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   198
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   199
	 * Get the BSF catalog for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   200
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   201
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   202
	IBSFCatalog getBSFCatalog(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   203
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   204
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   205
	 * Get the Symbian Binary Variation (SBV) catalog for a SDK.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   206
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   207
	 * @since 2.0
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   208
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   209
	ISBVCatalog getSBVCatalog(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   210
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   211
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   212
	 * Returns whether or not this is the default SDK in the devices.xml file.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   213
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   214
	 * @return <code>true</code> if the SDK is the default, and
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   215
	 *   <code>false</code> otherwise
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   216
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   217
	boolean isDefaultSDK(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   218
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   219
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   220
	 * Tell if the SDK is Series60.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   221
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   222
	 * @return true if the SDK is Series60
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   223
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   224
	boolean isS60(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   225
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   226
	/**
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   227
	 * Tells whether or not the plug-in installer has sniffed this SDK for eclipse plug-ins to install.
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   228
	 * @param sdk Symbian SDK
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   229
	 * @return true if the SDK was scanned
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   230
	 * @since 2.0
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   231
	 */
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   232
	boolean isPreviouslyScanned(ISymbianSDK sdk);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   233
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   234
	void setLicenseFile(ISymbianSDK sdk, File licenseFile);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   235
	void setPrefixFile(ISymbianSDK sdk, IPath prefixFile);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   236
	void setSDKVersion(ISymbianSDK sdk, Version sdkVers);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   237
	void setPublisherURL(ISymbianSDK sdk, URL pubURL);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   238
	void setCreateDate(ISymbianSDK sdk, Date createDate);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   239
	void setOSSDKBranch(ISymbianSDK sdk, String branch);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   240
	void setSDKDescription(ISymbianSDK sdk, String descr);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   241
	void setPublisherName(ISymbianSDK sdk, String pubName);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   242
	void setName(ISymbianSDK sdk, String name);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   243
	void setIsDefaultSDK(ISymbianSDK sdk, boolean isDefault);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   244
	void setPreviouslyScanned(ISymbianSDK sdk, boolean wasScanned);
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   245
79471fd1fd69 First pass refactoring ISymbianSDK.
stechong
parents:
diff changeset
   246
}