--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuieng/EngSrc/CCAErrorData.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,218 @@
+/*
+* Copyright (c) 2003-2005 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: Holds error message information
+*
+*/
+
+
+#ifndef CCAERRORDATA_H
+#define CCAERRORDATA_H
+
+// INCLUDES
+#include <e32base.h>
+
+#include "MCAError.h"
+
+// FORWARD DECLARATIONS
+class CImpsDetailedResult;
+
+// CLASS DECLARATION
+
+/**
+* CCAErrorData holds the message information.
+*
+*
+* @lib CAEngine.lib
+* @since 1.2
+*/
+class CCAErrorData : public CBase,
+ public MCAError
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aDetailedResults defines the error data that will be copied
+ * to internal data structures.
+ */
+ static CCAErrorData* NewL(
+ const CImpsDetailedResult& aDetailedResult );
+
+ /**
+ * Two-phased constructor. More wider API for testing purposes.
+ * @param aCode specifies the additional error code.
+ * @param aDescription is the textual description.
+ * @param aUserIDs specifies user ID list.
+ * @param aGroupIds specifies group ID list.
+ * @param aMessageIDs specifies message IDs.
+ * @param aScreenNames specify the used screen names in the
+ * corresponding groups i.e. aScreenNameGroup.
+ * @param aScreeNameGroup specifies the groups for the screen names.
+ * Index 0 in the group array corresponds to the screen name in
+ * screen name array index 0.
+ */
+ static CCAErrorData* NewL(
+ TInt aCode,
+ const TDesC& aDescription,
+ const CPtrC16Array* aUserIDs,
+ const CPtrC16Array* aGroupIDs,
+ const CPtrC16Array* aMessageIDs,
+ const CPtrC16Array* aScreenNames,
+ const CPtrC16Array* aScreenNameGroup );
+
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCAErrorData();
+
+ public: // Functions derived from MCAError
+
+ /**
+ * Returns the error code.
+ * @return Error code.
+ */
+ IMPORT_C TInt Code() const;
+
+ /**
+ * Textual description from the error.
+ * @return Plain text explanation.
+ */
+ IMPORT_C const TDesC& Description() const;
+
+ /**
+ * Return user IDs.
+ * @return Array that holds the user IDs.
+ */
+ IMPORT_C const CDesCArray& UserIDs() const;
+
+ /**
+ * Return group IDs.
+ * @return Array that holds the group IDs.
+ */
+ IMPORT_C const CDesCArray& GroupIDs() const;
+
+ /**
+ * Return message IDs.
+ * @return Array that holds the message IDs.
+ */
+ IMPORT_C const CDesCArray& MessageIDs() const;
+
+ /**
+ * Return screen names. The corresponding group is found from
+ * corresponding array index in the ScreenNameGroup().
+ * @return Array that holds the screen names.
+ */
+ IMPORT_C const CDesCArray& ScreenNames() const;
+
+ /**
+ * Return group IDs.
+ * @return Array that holds the group IDs.
+ */
+ IMPORT_C const CDesCArray& ScreenNameGroup() const;
+
+
+ private:
+
+ /**
+ * By default Symbian OS constructor is private.
+ * @see CCAErrorData::NewL.
+ */
+ void ConstructL( const CImpsDetailedResult& aDetailedResult );
+
+ /**
+ * By default Symbian OS constructor is private.
+ * @see CCAErrorData::NewL.
+ */
+ void ConstructL(
+ TInt aCode,
+ const TDesC& aDescription,
+ const CPtrC16Array* aUserIDs,
+ const CPtrC16Array* aGroupIDs,
+ const CPtrC16Array* aMessageIDs,
+ const CPtrC16Array* aScreenNames,
+ const CPtrC16Array* aScreenNameGroup );
+
+ /**
+ * C++ default constructor.
+ */
+ CCAErrorData();
+
+ /**
+ * Sets the error code value.
+ * @param aCode specifies the error code.
+ */
+ void SetCode( TInt aCode );
+
+ /**
+ * Sets the error user IDs.
+ * @param aUserIDs specify array of User IDs.
+ */
+ void SetUserIDsL( const CPtrC16Array* aUserIDs );
+
+ /**
+ * Sets the group IDs.
+ * @param aGroupIDs specify array of group IDs.
+ */
+ void SetGroupIDsL( const CPtrC16Array* aGroupIDs );
+
+ /**
+ * Sets the message IDs.
+ * @param aMessageIDs specify the array of message IDs.
+ */
+ void SetMessageIDsL( const CPtrC16Array* aMessageIDs );
+
+ /**
+ * Sets the screen names.
+ * @param aScreenNames specify the array of screen names.
+ */
+ void SetScreenNamesL( const CPtrC16Array* aScreenNames );
+
+ /**
+ * Sets the screen name groups.
+ * @param aScreenNameGroups specify the groups in a such
+ * way that the corresponding screen name is found from the
+ * screen name array with the corresponding array index.
+ */
+ void SetScreenNamesGroupsL( const CPtrC16Array* aScreenNameGroups );
+
+ private: // Data
+
+ // Specifies the error code
+ TInt iCode;
+
+ // Owns: Textual description from the error
+ HBufC* iDescription;
+
+ // Owns: user WV IDs
+ CDesCArrayFlat* iUserIDs;
+
+ // Owns: group WV IDs
+ CDesCArrayFlat* iGroupIDs;
+
+ // Owns: Message IDs
+ CDesCArrayFlat* iMsgIDs;
+
+ // Owns: Screen names
+ CDesCArrayFlat* iScreenNames;
+
+ // Owns: Screen name in group the corresponding screen name
+ // is found with the same index from the iScreenNames
+ CDesCArrayFlat* iScreenNameGroup;
+
+ };
+
+#endif // CCAERRORDATA_H
+
+// End of File