--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationcentre/lcservice/inc/lcnotificationao.h Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* 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: Location Centre Notification Active Object.
+*
+*/
+
+
+#ifndef C_LCNOTIFICATIONAO_H
+#define C_LCNOTIFICATIONAO_H
+
+// SYSTEM INCLUDES
+#include <e32base.h>
+
+// USER INCLUDES
+
+// FORWARD DECLARATIONS
+class MLcNotification;
+class RLcClientSession;
+
+/**
+ * Location Centre Notification Active Object.
+ *
+ * This class is used to handle Asynchronous Notification requests.
+ *
+ * @since S60 v5.0
+ */
+NONSHARABLE_CLASS( CLcNotificationAO ): public CActive
+ {
+public:
+ /**
+ * Constructs a new instance of Location Centre Notification
+ * Active Object.
+ *
+ * @param[in] aObserver Notification Observer.
+ * @return The new instance of Location Centre Notification
+ * Active Object.
+ * @leave System wide error code if the object creation fails.
+ */
+ static CLcNotificationAO* NewL(
+ MLcNotification& aObserver,
+ RLcClientSession& aClientSession );
+
+ /**
+ * C++ Destructor.
+ * Frees all the resources associated with this Location Centre
+ * Notification Active Object.
+ */
+ virtual ~CLcNotificationAO();
+
+ /**
+ * Issue a notification request to the Location Centre server. This
+ * is a recurring request which keeps providing notifications
+ * through the MLcNotification observer until a CancelRequest()
+ * is called.
+ */
+ void IssueRequest();
+
+ /**
+ * Cancels the outstanding notification request issued through the
+ * IssueRequest() call.
+ */
+ void CancelRequest();
+
+protected: // Inherited from Base classes
+
+ /**
+ * Inherited from CActive
+ */
+ void RunL();
+
+ /**
+ * Inherited from CActive
+ */
+ void DoCancel();
+
+private:
+ /**
+ * C++ Default constructor
+ */
+ CLcNotificationAO( MLcNotification& aObserver,
+ RLcClientSession& aClientSession );
+
+private:
+ /**
+ * Observer to communicate the notification requests.
+ */
+ MLcNotification& iObserver;
+
+ RLcClientSession& iClientSession;
+ };
+
+#endif // C_LCNOTIFICATIONAO_H