diff -r cd501b96611d -r ece3df019add authenticationservices/authenticationserver/source/common/authexpression_impl.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/authenticationservices/authenticationserver/source/common/authexpression_impl.inl Tue Nov 24 09:06:03 2009 +0200 @@ -0,0 +1,162 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* +*/ + + +#ifndef AUTHEXPRESSION_IMPL_INL +#define AUTHEXPRESSION_IMPL_INL + +#include "authexpression_impl.h" + +namespace AuthServer { + +// -------- TSizeStream -------- + + +inline TSizeStream::TSizeStream() +/** + Initialise the accumulated stream size to zero. + */ +: iSize(0) + { + // empty. + } + + +inline TInt TSizeStream::Size() const +/** + Accessor function returns the accumulated + stream size in bytes. + + @return Accumulated stream size in bytes. + */ + { + return iSize; + } + + +// -------- CAuthExpressionImpl -------- + + +inline CAuthExpressionImpl::TType CAuthExpressionImpl::Type() const +/** + Accessor function returns this expression type, i.e. + whether it is a plugin ID, a plugin type, an AND expression, + or an OR expression. + + @return This expression's type. + @panic AUTHEXPR 64 This object is internally inconsistent + when the function is called (debug only.) + */ + { + __ASSERT_DEBUG(Invariant(), Panic(ETyAInvariant)); + return iType; + } + + +inline const CAuthExpressionImpl* CAuthExpressionImpl::Left() const +/** + Accessor function returns this expression's left node. + + @return A non-modifiable pointer to + this expression's left node. + @panic AUTHEXPR 80 This object is internally inconsistent + when this function is called (debug only.) + @panic AUTHEXPR 81 This object is not an AND or OR expression + (debug only.) + @see Right + */ + { + __ASSERT_DEBUG(Invariant(), Panic(ELfInvariant)); + __ASSERT_DEBUG(iType == EAnd || iType == EOr, Panic(ELfNotComplex)); + return iComb.iLeft; + } + + +inline const CAuthExpressionImpl* CAuthExpressionImpl::Right() const +/** + Accessor function returns this expression's left node. + + @return A non-modifiable pointer to + this expression's right node. + @panic AUTHEXPR 96 This object is not an AND or OR expression + (debug only.) + @see Left + */ + { + __ASSERT_DEBUG(Invariant(), Panic(ERgInvariant)); + __ASSERT_DEBUG(iType == EAnd || iType == EOr, Panic(ERgNotComplex)); + return iComb.iRight; + } + + +inline TAuthPluginType CAuthExpressionImpl::PluginType() const +/** + Accessor function returns this expression's plugin type. + + @return This expression's plugin type. + @panic AUTHEXPR 112 This object is internally inconsistent + when this function is called (debug only.) + @panic AUTHEXPR 113 This object does not describe a + plugin type (debug only.) + */ + { + __ASSERT_DEBUG(Invariant(), Panic(EPTyInvariant)); + __ASSERT_DEBUG(iType == EPluginType, Panic(EPTyNotPluginType)); + return iPluginType; + } + + +inline TPluginId CAuthExpressionImpl::PluginId() const +/** + Accessor function returns this expression's plugin ID. + + @return This expression's plugin ID. + @panic AUTHEXPR 128 This object is internally inconsistent + when this function is called (debug only.) + @panic AUTHEXPR 129 This object does not identify a + specific plugin (debug only.) + */ + { + __ASSERT_DEBUG(Invariant(), Panic(EPIdInvariant)); + __ASSERT_DEBUG(iType == EPluginId, Panic(EPIdNotPluginId)); + return iPluginId; + } + + +inline CAuthExpressionImpl* CAuthExpressionImpl::Parent() const +/** + Accessor function returns this node's parent. + + @return This node's parent. This is + NULL for a root node. + @panic AUTHEXPR 144 This object is internally inconsistent + when this function is called (debug only.) + @internalComponent + */ + { + __ASSERT_DEBUG(Invariant(), Panic(EPPrInvariant)); + + return iParent; + } + + + +} // namespace AuthServer { + + +#endif // #ifndef AUTHEXPRESSION_IMPL_INL +