// -----------------------------------------------------------------------------
// Is passed string one of those listed in ActionList in ccetestconfigurations.h
// -----------------------------------------------------------------------------
//
TBool CConfigurationHandler::IsConfigRequest( TDesC8& aValue )
	{
	HBufC8* result = GetTokenValue(aValue, KId);

	if( !result )
		{
		return EFalse;
		}
		
	if( FindActionIndex(*result)==KErrNotFound )
		{
		delete result;
		return EFalse;
		}

	delete result;
	return ETrue;
	}
Example #2
0
VOID
ShowCurrentPowerActionPolicy(HWND hDlgCtrl,
                             POWER_ACTION *lpAction,
                             DWORD dwActionSize,
                             POWER_ACTION_POLICY *Policy)
{
	int poActionIndex;
	POWER_ACTION poAction;

	poAction = GetPowerActionFromPolicy(Policy);
	poActionIndex = FindActionIndex(lpAction, dwActionSize, poAction);

	if (poActionIndex < 0)
	{
		return;
	}

	SendMessage(hDlgCtrl, CB_SETCURSEL, (WPARAM)poActionIndex, (LPARAM)0);
}
// -----------------------------------------------------------------------------
// parse passed data
// ID + RETURN or LEAVE has to be found
// -----------------------------------------------------------------------------
//
TBool CConfigurationHandler::ParseData( TDesC8& aData, 
										CONFIGURATION_ITEM& aItem )
	{
	// get value for ID=
	HBufC8* id = GetTokenValue(aData, KId);

	if( !id )
		{
		RDebug::Print(_L("[TESTPLUGIN] CConfigurationHandler::ParseData ID= not found") );
		delete id;
		return EFalse;
		}

	// store index to action array
	aItem.iActionIndex = FindActionIndex(*id);
	delete id;


	// get value for TYPE=
	HBufC8* type = GetTokenValue(aData, KType);
	if( !type )
		{
		RDebug::Print(_L("[TESTPLUGIN] CConfigurationHandler::ParseData TYPE= not found") );
		delete type;
		return EFalse;
		}
	
	// todo is numeric check when needed
	// get value for RETURN=
	aItem.iIsLeaveValue = EFalse;
	HBufC8* strvalue = GetTokenValue(aData, KReturn);
	if( !strvalue )
		{
		delete strvalue; strvalue = NULL;
		// get value for LEAVE= as return value was not found
		strvalue = GetTokenValue(aData, KLeave);
		aItem.iIsLeaveValue = ETrue;
		}

	if( !strvalue )
		{
		RDebug::Print(_L("[TESTPLUGIN] CConfigurationHandler::ParseData: No RETURN= or LEAVE= found") );
		return EFalse;
		}


	// optional parameter
	HBufC8* persistant = GetTokenValue(aData, KPersistant );
	if( persistant )
		{
		TBool b;
		TLex8 l(*persistant);
		l.Val(b); 
		aItem.iIsPersistant = b;
		}
	else
		{
		aItem.iIsPersistant = EFalse;
		}
	delete persistant;
	
	if( type->Compare(_L8("TInt"))==KErrNone )
		{
		TInt v = 0;
		TLex8 lex(*strvalue);
		lex.Val(v);
		aItem.iValuePtr = new TInt(v); 
		}
	else if( type->Compare(_L8("TUint"))==KErrNone )
		{
		TUint v = 0;
		TLex8 lex(*strvalue);
		lex.Val(v);
		aItem.iValuePtr = new TUint(v); 
		}
	else if( type->Compare(_L8("TUid"))==KErrNone )
		{
		TInt v = 0;
		TLex8 lex(*strvalue);
		lex.Val(v);

		TUid u;
		u.iUid = v;
		aItem.iValuePtr = new TUid(u); 
		}
	else if( type->Compare(_L8("TBool"))==KErrNone )
		{
		TBool b;
		TLex8 l(*strvalue);
		l.Val(b); 
		aItem.iValuePtr = new TBool(b); 
		}
	else if( type->Compare(_L8("TDesC8"))==KErrNone )
		{
		HBufC8* buf = HBufC8::NewL(strvalue->Length()); 
		TPtr8 des = buf->Des();
		des.Append(*strvalue);
		aItem.iValuePtr = buf;
		}
	else if( type->Compare(_L8("CCCPCallParameters"))==KErrNone )
		{
		//CCCPCallParameters		
		}
	else
		{
		RDebug::Print(_L("[TESTPLUGIN] CConfigurationHandler::ParseData: No valid type found") );
		return EFalse;
		}


	delete type;
	delete strvalue;
	
	return ETrue;
	}