sysstatemgmt/systemstateplugins/conditionevaluator/inc/conditionresourcetypes.rh
author Tapani Kanerva <Tapani.Kanerva@nice.fi>
Thu, 11 Nov 2010 14:35:29 +0000
branchRCL_3
changeset 86 79105dd92dc2
parent 7 1a73e8f1b64d
permissions -rw-r--r--
Export meaningful default HWRM policy files, to fix Bug 3852

// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// Resource structure declarations for conditional checks.
//




/**
 @file
 @internalComponent
 @released
*/

#ifndef CONDITIONRESOURCETYPES_RH
#define CONDITIONRESOURCETYPES_RH

#include <ssm/conditiontypes.hrh>

//Struct for providing condition on whether a feature supported or not
STRUCT SSM_CND_FEATURE_VALUE
	{
    WORD type = EFeatureFlag; // Do not change.
	LONG feature_id;          // Feature Identifier from features.hrh.
	}

//Struct for providing condition on whether a feature data is same as given value
STRUCT SSM_CND_FEATURE_DATA_VALUE
	{
    WORD type = EFeatureFlagData; // Do not change.
	LONG feature_id;         
	LONG datavalue; 
	}

//Struct for providing condition on whether central repository flag is defined or not
STRUCT SSM_CND_CENT_REP_FLAG
	{
    WORD type = ECentRepFlag; // Do not change.
	LONG repository_id;       // The UID of the repository to be accessed.
	LONG key;                 // Identifies the key in the repository.
	LONG bitmask;             // Defines the bits of the key value to check.
	}

//Struct for providing condition on whether central repository value matches or not
STRUCT SSM_CND_CENT_REP_VALUE
	{
    WORD type = ECentRepIntVal; // Do not change.
	LONG repository_id;         // The UID of the repository to be accessed.
	LONG key;                   // Identifies the key in the repository.
	LONG value; // The value read from the CentRep key will be compared to this value.
	}

//Struct for providing condition on whether publish and subscribe flag is defined or not
STRUCT SSM_CND_PUB_SUB_FLAG
	{
    WORD type = EPubSubFlag; // Do not change.
	LONG category;           // An UID identifying the property category.
	LONG key;                // Identifies the specific property within the category.
	LONG bitmask;            // Defines the bits of the key value to check.
	}

//Struct for providing condition on whether publish and subscribe value is same as the given value
STRUCT SSM_CND_PUB_SUB_VALUE
	{
    WORD type = EPubSubIntVal; // Do not change.
	LONG category;             // An UID identifying the property category.
	LONG key;                  // Identifies the specific property within the category.
	LONG value; // The value read from the P&S key will be compared to this value.
	}

//Struct for providing logical not condition and evaluates to TRUE if the sub-condition evaluates to FALSE
STRUCT SSM_CND_LOGICAL_NOT
	{
    WORD type = ELogicalNot; // Do not change.
	LLINK sub_condition;     // A link to conditional info structure.
	}

//Struct for providing logical and condition and evaluates to TRUE if both the sub-condition evaluates to TRUE
STRUCT SSM_CND_LOGICAL_AND
	{
    WORD type = ELogicalAnd; // Do not change.
	LLINK lhs; // Left-hand side of the AND expression. A link to conditional info structure.
	LLINK rhs; // Right-hand side of the AND expression. A link to conditional info structure.
			   // rhs wont be executed if lhs evaluates to FALSE
	}

//Struct for providing logical or condition and evaluates to TRUE if either of the sub-condition evaluates to TRUE
STRUCT SSM_CND_LOGICAL_OR
	{
    WORD type = ELogicalOr; // Do not change.
	LLINK lhs; // Left-hand side of the OR expression. A link to conditional info structure.
	LLINK rhs; // Right-hand side of the OR expression. A link to conditional info structure.
	}

//Struct for providing condition on whether SwP value is same as the given value
STRUCT SSM_CND_SWP_VALUE
	{
	WORD type = ESwpIntVal; // Do not change.	
	LONG key;              	// Identifies the specific property within the category.
	LONG value; 		    // The value read from the SWP key will be compared to this value.
	}

//Struct for providing condition on whether SwP flag is defined or not
STRUCT SSM_CND_SWP_FLAG
	{
	WORD type = ESwpFlag;  // Do not change.	
	LONG key;              	 // Identifies the specific property within the category.
	LONG bitmask;            // Defines the bits of the key value to check.
	}

#endif // CONDITIONRESOURCETYPES_RH