mmsharing/mmshavailability/inc/musavaavailabilityobserver.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:01 +0100
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201032 Kit: 201035

/*
* Copyright (c) 2005-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:  This observer is used by
*                availabilities to observer function from the availability
*
*/



#ifndef MMUSAVAAVAILABILITYOBSERVER
#define MMUSAVAAVAILABILITYOBSERVER

#include <e32def.h>

#include "musavaobserver.h"

/**
 *  MusAvailability Observer base class
 *
 *  Observer interface for ECOM clients.
 *
 *  @lib musavailabilityplugin.lib
 */

class MMusAvaAvailabilityObserver
    {
    
public:

    /**
     * Availability report
     *
     * @param aStatus New status for availability.
     */
    virtual void AvailabilityChanged(
        MMusAvaObserver::TAvailabilityName aName,
        MMusAvaObserver::TAvailabilityStatus aStatus ) = 0;

    virtual void AvailabilityError(
        MMusAvaObserver::TAvailabilityName aName,
        MMusAvaObserver::TAvailabilityStatus aStatus ) = 0;
        
    virtual TBool Available( 
        MMusAvaObserver::TAvailabilityName aAvailability ) = 0;
        
        
    virtual MMusAvaObserver::TAvailabilityStatus 
    	AvailabilityPluginState() = 0;
    
    virtual void AvailabilitiesAbleToShowIndicator() = 0;
   
    };


#endif //MMUSAVAAVAILABILITYOBSERVER