--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreensrv_plat/menu_content_service_api/inc/mcsmenunotifier.h Thu Dec 17 08:54:17 2009 +0200
@@ -0,0 +1,108 @@
+/*
+* 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: Definition of menu change notifier
+*
+*/
+
+
+#ifndef __MCSMENUNOTIFIER_H__
+#define __MCSMENUNOTIFIER_H__
+
+#include <e32base.h>
+
+class RMenu;
+
+/**
+ * Menu change notifier.
+ * @lib mcsmenu.lib
+ * @since S60 v5.0
+ */
+NONSHARABLE_CLASS( RMenuNotifier ): public RSubSessionBase
+ {
+
+public:
+
+ enum TEvent ///< Menu events.
+ {
+ EItemsNone = 0,///< Nothing changed.
+ EItemsAddedRemoved = 0x1, ///< Items added and/or removed in folder.
+ EItemsReordered = 0x2, ///< Items reordered in folder.
+ EItemAttributeChanged = 0x4, ///< Item attribute and/or flag changed.
+ };
+
+public:
+
+ /**
+ * Constructor.
+ * @since S60 v5.0
+ * @capability None.
+ * @throws None.
+ * @panic None.
+ */
+ RMenuNotifier(){ iData = NULL; };
+
+ /**
+ * Close the notifier. Safe to call if not open.
+ * Outstanding request, if any, is cancelled.
+ * @since S60 v5.0
+ * @capability ECapabilityReadDeviceData.
+ * @throws None.
+ * @panic None.
+ */
+ IMPORT_C void Close();
+
+ /**
+ * Open the notifier.
+ * @since S60 v5.0
+ * @param aMenu Menu.
+ * @return Error code.
+ * @capability ECapabilityReadDeviceData.
+ * @throws System-wide error codes if an error occurs.
+ * @panic None.
+ */
+ IMPORT_C TInt Open( RMenu& aMenu );
+
+ /**
+ * Request notification of menu events occurring in specified folder.
+ * @since S60 v5.0
+ * @param aFolder Folder to observe. Pass 0 to observe all folders
+ * (the whole menu).
+ * @param aEvents Events to be notified about. A combination of TEvent bits.
+ * @param aStatus Completes when menu events occur in the specified folder,
+ * or on error. Completion value is error code (if negative), or a combination
+ * of events specified in aEvents (if positive). Note, more than one event
+ * bit can be set.
+ * @capability ECapabilityReadDeviceData.
+ * @throws None.
+ * @panic None.
+ */
+ IMPORT_C void Notify( TInt aFolder, TInt aEvents, TRequestStatus &aStatus );
+
+ /**
+ * Cancel notification request.
+ * @since S60 v5.0
+ * @capability ECapabilityReadDeviceData.
+ * @throws None.
+ * @panic None.
+ */
+ IMPORT_C void Cancel();
+
+private: // data
+
+ class TData;
+ TData* iData; ///< Private data. Own.
+
+ };
+
+#endif // __MCSMENUNOTIFIER_H__