appfw/apparchitecture/inc/apgctllist.h
changeset 0 2e3d3ce01487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/appfw/apparchitecture/inc/apgctllist.h	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,79 @@
+// Copyright (c) 1997-2009 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:
+//
+
+#ifndef __APGCTL_LIST_H__
+#define __APGCTL_LIST_H__
+
+#if !defined(__E32STD_H__)
+#include <e32std.h>
+#endif
+#if !defined(__E32BASE_H__)
+#include <e32base.h>
+#endif
+
+// classes defined:
+class CApaSystemControlList;
+
+//
+// classes referenced:
+class CApaSystemControl;
+class RFs;
+//
+
+class CApaSystemControlList : public CBase
+   /** Provides a list of all available control panel applications present on the phone. 
+   This class is implemented as a linked list of CApaSystemControl. Updates the control panel application list by removing 
+   control panels that no longer exist, adding new control panels found to the control panel application list and replacing 
+   a control panel if found in an earlier drive.
+   
+   @see CApaSystemControl
+   @publishedPartner
+   @released
+   */
+   	{
+   public:
+   	IMPORT_C static CApaSystemControlList* NewL(RFs& aFs);
+   	IMPORT_C ~CApaSystemControlList();
+   	
+   	IMPORT_C TInt Count()const;
+   	IMPORT_C TInt Index(TUid aType)const;
+   	IMPORT_C CApaSystemControl* Control(TInt aIndex)const;
+   	IMPORT_C CApaSystemControl* Control(TUid aType)const;
+   	
+   	IMPORT_C void UpdateL();
+   	inline TInt UpdateCount()const;
+   private:
+   	CApaSystemControlList(RFs& aFs);
+   	CApaSystemControl* PreviousControl(const CApaSystemControl* aControl) const;
+   private:
+   	TInt iUpdateCount;
+   	RFs& iFs;
+   	CApaSystemControl* iControl;
+   	};
+   
+   
+   //
+   // inlines
+   //
+   
+   
+   inline TInt CApaSystemControlList::UpdateCount()const
+   /** Gets the number of times the control panel application list has been 
+   updated (by calling UpdateL()). It returns 1 for a newly created list.
+   
+   @return The number of times the control panel application list has been changed. */
+   	{ return iUpdateCount; }
+   
+#endif