diff -r 000000000000 -r 522cd55cc3d7 loc_plat/location_centre_api/inc/lcnotification.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loc_plat/location_centre_api/inc/lcnotification.h Tue Feb 02 00:16:03 2010 +0200 @@ -0,0 +1,92 @@ +/* +* 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: Observer class defintion to notify any changes to the +* state of Location Applications. +* +*/ + +#ifndef M_LCNOTIFICATION_H +#define M_LCNOTIFICATION_H + +/** + * @file lcnotification.h + * + * This file provides the definitions for the observer class which enables + * the client application to listen to notifications from Location Centre. + * + * @lib lcservice.lib + * @since S60 v5.0 + */ + +// SYSTEM INCLUDES +#include + +/** + * @class MLcNotification + * Observer class to notify the changes to the applications registered with + * Location Centre. + * + * This client application needs to pass an instance of this class when calling + * @ref CLcService::StartNotificationL + * + * @lib lcservice.lib + * @since S60 v5.0 + */ +class MLcNotification + { +public: + /** + * Notification for the termination of the chained Location based Application. + * + * The notification can occur under the following conditions + * - When a new Location based Application registers into Location + * Centre. In this case, the Location based Application would be + * immediately available for all Location Centre operations. + * - When an already registered Location based Application de-registers. + * In this case, the Location based Application will be removed from + * Location Centre. Hence, it would not be available for any further Location + * Centre operations. + * - When a Location based Application is present on a removable media (like + * Memory card)and the media is removed. In this case, for all practical + * purposes the Location based Application behaves as in the previous context. + * The difference being that the application does not get removed from + * Location Centre but is marked as an Absent application. When the + * removable media is re-inserted, the application immediately becomes + * available for all Location Centre operations. + * - When an removable media containing an Absent Location based Application + * is re-inserted. In this case, the Location based Application would be + * immediately available for all Location Centre operations. + * - When the Location Centre server terminates pre-maturely. In this case, no + * further notifications would be given to the Client application and all + * further requests to the Location Centre server would fail with + * @p KErrServerTerminated. + * + * @since S60 v5.0 + * @param[in] aErrorCode Error code for the notification completion. + * The following are the values which the variable + * can assume on completion of the request. + * - KErrNone If there is an new Location based + * Application registered to Location Centre, when + * an existing Location based Application is removed + * from Location Centre or when an Location based + * Application becomes absent or present. + * - KErrCancel If an outstanding request is Cancelled. + * - KErrServerTerminated If the Location Centre server + * is pre-maturely terminated. + * - System wide error codes in other error conditions. + */ + virtual void LcStatusChangedL( TInt aErrorCode ) = 0; + }; + +#endif // M_LCNOTIFICATION_H