core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/ISBSv2QueryData.java
branchC3_BUILDER_WORK
changeset 1471 62024a5fa81d
child 1476 09e768e53db5
equal deleted inserted replaced
1469:5844e41d8bc7 1471:62024a5fa81d
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 * Test the BldInfViewPathHelper class.
       
    16 *
       
    17 */
       
    18 package com.nokia.carbide.cpp.internal.api.sdk.sbsv2;
       
    19 
       
    20 import java.util.HashMap;
       
    21 import java.util.List;
       
    22 
       
    23 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
       
    24 
       
    25 /**
       
    26  * Interface that wraps all queries to the Symbian Build System (SBSv2/Raptor)
       
    27  * 
       
    28  * @noimplement
       
    29  */
       
    30 public interface ISBSv2QueryData {
       
    31 	
       
    32 	/**
       
    33 	 * For given SDK, add an SBS build configuration
       
    34 	 * @param sdk - use null if base SBS data
       
    35 	 * @param configData - The configuration to add
       
    36 	 */
       
    37 	void addConfigurationData(ISymbianSDK sdk, ISBSv2ConfigData configData);
       
    38 	
       
    39 	/**
       
    40 	 * Get all usable SBS configurations for a given SDK, which is the union of
       
    41 	 * the SBS base configurations and SDK specific configurations.
       
    42 	 * @param sdk - should not be null
       
    43 	 * @return -The list of all usable SBS build configurations
       
    44 	 * @see {@link ISBSv2QueryData#getSDKSpecificConfigData(ISymbianSDK)}
       
    45 	 * @see {@link ISBSv2QueryData#getBaseSBSConfigurations()}
       
    46 	 */
       
    47 	List<ISBSv2ConfigData> getAllConfigurationsForSDK(ISymbianSDK sdk);
       
    48 	
       
    49 	/**
       
    50 	 * Get the SBS configurations that are defined only by the SDK.
       
    51 	 * This does not include configurations that have altered meanings,
       
    52 	 * rather they provide a new unique build alias that is not defined in the base SBS installation.
       
    53 	 * @param sdk - never null
       
    54 	 * @return The unique SBS configurations to a given SDK. An empty list of none.
       
    55 	 */
       
    56 	List<ISBSv2ConfigData> getSDKSpecificConfigData(ISymbianSDK sdk);
       
    57 	
       
    58 	/**
       
    59 	 * Get the map of build alias to sbs configuration data that Raptor defines
       
    60 	 * without input from any SDK
       
    61 	 * @return a HashMap of SBS build alias to configuration data
       
    62 	 */
       
    63 	HashMap<String, ISBSv2ConfigData> getBaseSBSConfigurations();
       
    64 	
       
    65 	/**
       
    66 	 * Get the product variant list for a given SDK
       
    67 	 * @param sdk - The SDK, should not be null
       
    68 	 * @return The list of product variants
       
    69 	 */
       
    70 	List<String> getProductsForSDK(ISymbianSDK sdk);
       
    71 	
       
    72 	/**
       
    73 	 * Sets the product variant list by the SDK. Products are typically defined
       
    74 	 * under /epoc32/sbs_config/variant_configurations.xml
       
    75 	 * @param sdk - The SDK, must not be null
       
    76 	 * @param products - The list of build variants that can be applied to any build alias or meaning
       
    77 	 */
       
    78 	void addProductListForSDK(ISymbianSDK sdk, List<String> products);
       
    79 
       
    80 	/**
       
    81 	 * Find SBS configuration data for a single build configuration.
       
    82 	 * @param sdk - The SDK that contains the build configuration. Null for a base configuration
       
    83 	 * @param string - The build alias (e.g. armv5_udeb)
       
    84 	 * @return SBS configuration data, or null if not found
       
    85 	 */
       
    86 	ISBSv2ConfigData getSBSConfigByAlias(ISymbianSDK sdk, String alias);
       
    87 
       
    88 	/**
       
    89 	 * Find SBS configuration data for a single build configuration.
       
    90 	 * @param sdk - The SDK that contains the build configuration. Null for a base configuration
       
    91 	 * @param string - The build meaning or dotted name (e.g. arm.v5.udeb.rvct2_2)
       
    92 	 * @return SBS configuration data, or null if not found
       
    93 	 */
       
    94 	ISBSv2ConfigData getSBSConfigByMeaning(ISymbianSDK sdk, String meaning);
       
    95 }