williamr@4: /* williamr@4: * Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: An interface for objects that can be expanded to a view williamr@4: * williamr@4: */ williamr@4: williamr@4: williamr@4: #ifndef MVPBKEXPANDABLE_H williamr@4: #define MVPBKEXPANDABLE_H williamr@4: williamr@4: // INCLUDES williamr@4: #include williamr@4: williamr@4: // FORWARD DECLARATIONS williamr@4: class MVPbkContactViewBase; williamr@4: class MVPbkContactViewObserver; williamr@4: class MVPbkFieldTypeList; williamr@4: williamr@4: // CLASS DECLARATIONS williamr@4: williamr@4: /** williamr@4: * An interface for objects that can be expanded to a view williamr@4: * williamr@4: * E.g. a view contact that represents a group can be expanded williamr@4: * to the group members view. williamr@4: * @see MVPbkViewContact williamr@4: */ williamr@4: class MVPbkExpandable williamr@4: { williamr@4: protected: // destructor williamr@4: /** williamr@4: * Destructor. williamr@4: */ williamr@4: virtual ~MVPbkExpandable() { } williamr@4: williamr@4: public: // interface williamr@4: /** williamr@4: * Returns an expanded view that is constructed asynchronously. williamr@4: * williamr@4: * A client must wait the expanded view to become ready before williamr@4: * usage. williamr@4: * williamr@4: * @param aObserver A contact view observer williamr@4: * @param aSortOrder A contact view sort order. williamr@4: * @return the expanded view. williamr@4: * @return The child view. williamr@4: */ williamr@4: virtual MVPbkContactViewBase* ExpandLC( williamr@4: MVPbkContactViewObserver& aObserver, williamr@4: const MVPbkFieldTypeList& aSortOrder ) const =0; williamr@4: williamr@4: /** williamr@4: * Returns an extension point for this interface or NULL. williamr@4: * williamr@4: * @param aExtensionUid no extensions defined currently. williamr@4: * @return an extension point for this interface or NULL. williamr@4: */ williamr@4: virtual TAny* ExpandableExtension( TUid /*aExtensionUid*/ ) williamr@4: { return NULL; } williamr@4: }; williamr@4: williamr@4: #endif // MVPBKEXPANDABLE_H williamr@4: williamr@4: //End of file