--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/logsui/logsserviceextension/inc/clogseventinfomanager.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2007 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: Used to manage TLogsEventInfo objects
+*
+*/
+
+
+#ifndef C_CLOGSEVENTINFOMANAGER_H
+#define C_CLOGSEVENTINFOMANAGER_H
+
+
+#include <e32base.h>
+
+class TLogsEventInfo;
+
+NONSHARABLE_CLASS(CLogsEventInfoManager) : public CBase
+ {
+friend class ut_clogsuicontrolextension;
+public:
+
+ static CLogsEventInfoManager* NewL();
+ static CLogsEventInfoManager* NewLC();
+
+ /**
+ * Destructor.
+ */
+ ~CLogsEventInfoManager();
+
+ /**
+ * Creates a TLogsEventInfo entry and adds it the manager's array of
+ * TLogsEventInfo entries. Before that it is checked whether the entry
+ * already exists to avoid duplicates. TLogsEventInfo entries with
+ * the same service id are considered to be duplicates.
+ * Leaves with system-wide error code in case of an error.
+ *
+ * @since S60 v3.2
+ * @param aServiceId service id
+ */
+ void AddEventEntryL( TUint32 aServiceId );
+
+ /**
+ * The brand icon index for a log event with the specified service id
+ * is retrieved and assigned to 'aIndex'.
+ *
+ * @since S60 v3.2
+ * @param aServiceId Id of requested settings entry
+ * @param aIndex the index of the brand icon of the specified service
+ * @return True, if index for the specified serviceId was found and set,
+ * False otherwise
+ */
+ TBool GetBrandIconIndex( TUint32 aServiceId, TInt& aIndex ) const;
+
+ /**
+ * Returns the event info entry at the specified index in the
+ * iEventInfoArray array.
+ *
+ * @since S60 v3.2
+ * @param aIndex a index
+ * @return pointer to a event info object or null if the index
+ * position is not valid
+ */
+ TLogsEventInfo* GetEventInfoEntryByIndex( TInt aIndex ) const;
+
+ /**
+ * Returns the number of event info objects.
+ *
+ * @since S60 v3.2
+ * @return number of event info objects
+ */
+ TInt Count() const;
+
+ /**
+ * Check whether the branding icon index for the specified service
+ * id is already available or not.
+ *
+ * @since S60 v3.2
+ * @param aServiceId service id
+ * @return True, if the branding icon index for the specified service
+ * id is available, False otherwise
+ */
+ TBool BrandIconIndexAvailable( TUint32 aServiceId ) const;
+
+ /**
+ * Sets the brand icon index of the event info entry with a
+ * certain service id to 'aBrandingIconIndex'. If no event
+ * info entry could be found, 'KErrNotFound' is returned.
+ * If setting succeeded 'KErrNone' is returned.
+ *
+ * @since S60 v3.2
+ * @param aServiceId Id of requested settings entry
+ * @param aBrandingIconIndex the brand icon index to be set
+ * @return KErrNotFound, if no TLogsEventInfo object with the
+ * specified service id could be found, KErrNone otherwise
+ */
+ TInt SetBrandIndex( TUint32 aServiceId, TInt aBrandingIconIndex );
+
+
+private:
+
+ void ConstructL();
+
+ /**
+ * Constructor.
+ */
+ CLogsEventInfoManager();
+
+ /**
+ * Determines whether the manager contains already an entry for the
+ * specified service id.
+ *
+ * @since S60 v3.2
+ * @param aServiceId the service id
+ * @return Erue, if the manager contains already an entry with the
+ * specified service id, False otherwise
+ */
+ TBool EntryExists( TUint32 aServiceId );
+
+ /**
+ * Searches the event info array for an entry with the specified service id
+ * and returns the pointer to this entry or NULL if no such entry can be
+ * found.
+ *
+ * @since S60 v3.2
+ * @param aServiceId Id of requested settings entry
+ * @return Pointer to the entry with the specified service id or NULL if
+ * no such entry can be found in the iEventInfoArray array
+ */
+ TLogsEventInfo* GetEventInfoEntry( TUint32 aServiceId ) const;
+
+
+private: // data
+
+ /**
+ * The array that contains the event info entries
+ * Own.
+ */
+ RPointerArray<TLogsEventInfo> iEventInfoArray;
+
+ };
+
+#endif // C_CLOGSEVENTINFOMANAGER_H