diff -r 000000000000 -r 094583676ce7 presadap12/Parser2/Inc/MPEngAdvTransactionStatus2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presadap12/Parser2/Inc/MPEngAdvTransactionStatus2.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,172 @@ +/* +* Copyright (c) 2004 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: Advanced transaction status container interfaces. +* +*/ + +#ifndef __MPENGADVTRANSACTIONSTATUS2_H__ +#define __MPENGADVTRANSACTIONSTATUS2_H__ + +// INCLUDES +#include +#include "MPEngTransactionStatus2.h" + + +// CLASS DECLARATION +/** + * Advanced transaction status container interface. + * Transaction status contains errors from presence + * transactions with the network SAP. + * + * Advanced interface allows to add new detailed results. + * + * @since 3.0 + */ +class MPEngAdvTransactionStatus2 : public MPEngTransactionStatusCopy2 + { + public: // Setter functions + + /** + * Sets the transaction result status. + * + * If transaction went ok, without any + * errors, transaction result status is KErrNone. + * Else a error code from PresenceErrors.h + * + * @since 3.0 + * @param aStatus The overall error code. + */ + virtual void SetStatus( TInt aStatus ) = 0; + + + /** + * Adds a new detailed result entry. + * + * Stores a new detailed result entry inside + * the transaction status object. + * + * @since 3.0 + * + * @param aOperationID The ID of operation producing + * this detailed result entry. + * @param aErrorCode Error code. + * @param aAttributeTypeID Possible attribute type ID. + * Pass NULL if no attribute type ID. + * @param aPresenceID Possible presence ID. + * Pass NULL if no presence ID. + * @param aContactListID Possible contact list ID. + * Pass NULL if no contact list ID. + * @aDescription Possible description of the error. + * Pass NULL if no description. + */ + virtual void AddDetailedResultL( TInt aOperationID, + TInt aErrorCode, + const TUint32* aAttributeTypeID, + const TDesC* aPresenceID, + const TDesC* aContactListID, + const TDesC* aDescription ) = 0; + + /** + * Adds a new data result entry. + * + * Stores a new data result entry inside + * the transaction status object. + * + * @since 3.0 + * + * @param aOperationID The ID of operation producing + * this data result entry. + * @param aDataResult The data result. Function takes the ownership + * of given buffer only in full success. Buffer may not be NULL. + */ + virtual void AddDataResultL( TInt aOperationID, + HBufC16* aDataResult ) = 0; + + + + public: // Getter functions + + + /** + * Getter for data result. + * + * Gets a "first" data result entry of asked operation ID. + * If there isn't any data result of asked operation, returns + * KErrNotFound. Else returns KErrNone. + * Subsequent detailed results can be obtained by calling + * GetNextDetailedResultByOperation(). + * + * @since 3.0 + * @param aOperationID Defines which transaction operation type to get. + * @param aDataResult On the return contains first found data result. + * If no data result is found, contains on the return empty descriptor. + * Note: No need to construct a local buffer for descriptor, + * pass just TPtrC and on the return TPtrC is set to point + * correct data. + * + * @return Status of getting the data result. + * KErrNone if a data result of the asked operation is found. + * Else KErrNotFound. + */ + virtual TInt GetFirstDataResultByOperation( TInt aOperationID, + TPtrC16& aDataResult ) = 0; + + + /** + * Getter for data result. + * + * Gets a "next" data result entry of asked operation. + * (Operation criteria is set by calling first GetFirstDataResultByOperation(). + * Once setted operation criteria stays in use untill new criteria is set by + * GetFirstDataResultByOperation().) + * + * If there isn't any more data results of required operation, + * returns KErrNotFound. Else returns KErrNone. + * + * If operation criteria hasn't been set previously, panics with + * "PEngTransStat", 3. + * + * @since 3.0 + * @param aDataResult On the return contains first found data result. + * If no data result is found, contains on the return empty descriptor. + * Note: No need to construct a local buffer for descriptor, + * pass just TPtrC and on the return TPtrC is set to point + * correct data. + * + * @return Status of getting the data result. + * KErrNone if a data result of the asked operation is found. + * Else KErrNotFound. + */ + virtual TInt GetNextDataResultByOperation( TPtrC16& aDataResult ) = 0; + + + + + public: //Destructor + + + /** + * Virtual inline destructor. + * + * Transaction status objects can be + * destroyed using this interface. + */ + virtual ~MPEngAdvTransactionStatus2() {}; + + }; + +#endif // __MPENGADVTRANSACTIONSTATUS2_H__ + +// End of File +