epoc32/include/app/MVPbkExpandable.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  An interface for objects that can be expanded to a view
    15 *
    16 */
    17 
    18 
    19 #ifndef MVPBKEXPANDABLE_H
    20 #define MVPBKEXPANDABLE_H
    21 
    22 // INCLUDES
    23 #include <e32std.h>
    24 
    25 // FORWARD DECLARATIONS
    26 class MVPbkContactViewBase;
    27 class MVPbkContactViewObserver;
    28 class MVPbkFieldTypeList;
    29 
    30 // CLASS DECLARATIONS
    31 
    32 /**
    33  * An interface for objects that can be expanded to a view
    34  *
    35  * E.g. a view contact that represents a group can be expanded
    36  * to the group members view.
    37  * @see MVPbkViewContact
    38  */
    39 class MVPbkExpandable
    40     {
    41     protected: // destructor
    42         /**
    43          * Destructor.
    44          */
    45         virtual ~MVPbkExpandable() { }
    46 
    47     public: // interface
    48         /**
    49          * Returns an expanded view that is constructed asynchronously.
    50          *
    51          * A client must wait the expanded view to become ready before
    52          * usage.
    53          *
    54          * @param aObserver A contact view observer
    55          * @param aSortOrder A contact view sort order.
    56          * @return the expanded view.
    57          * @return The child view.
    58          */
    59         virtual MVPbkContactViewBase* ExpandLC(
    60             MVPbkContactViewObserver& aObserver,
    61             const MVPbkFieldTypeList& aSortOrder ) const =0;
    62 
    63         /**
    64          * Returns an extension point for this interface or NULL.
    65          *
    66          * @param aExtensionUid no extensions defined currently.
    67          * @return an extension point for this interface or NULL.
    68          */
    69         virtual TAny* ExpandableExtension( TUid /*aExtensionUid*/ ) 
    70                 { return NULL; }
    71     };
    72 
    73 #endif // MVPBKEXPANDABLE_H
    74 
    75 //End of file