epoc32/include/ct/ccttokentypeinfo.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
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) 2001-2009 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 the License "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: 
    15 *
    16 */
    17 
    18 
    19 /**
    20  @file
    21  @publishedAll
    22  @released
    23 */
    24 
    25 #ifndef __CCTTOKENTYPEINFO_H__
    26 #define __CCTTOKENTYPEINFO_H__
    27 
    28 #include <ct/tctalltokentypes.h>
    29 #include <ct/tcttokentypeattribute.h>
    30 #include <ct/rcpointerarray.h>
    31 class CImplementationInformation;
    32 
    33 
    34 /** 
    35  * Information about a token type.
    36  *
    37  * A list of CCTTokenTypeInfo objects can be obtained using the static ListL() 
    38  * functions. Each CCTTokenTypeInfo object has a list of interfaces it supports, 
    39  * a list of TCTTokenTypeAttribute objects associated with it, and a label. Based 
    40  * on this, the client (or the user via a UI) can chose the required token type 
    41  * and load it via CCTTokenType::NewL(). 
    42  * 
    43  * @since v7.0 
    44  */
    45 class CCTTokenTypeInfo : public CBase
    46 	{
    47  public:
    48 	
    49 	/** 
    50 	 * Lists all the CCTTokenTypeInfo objects that match the filter expression.
    51 	 *
    52 	 * This is the only way of creating CCTTokenTypeInfo objects. 
    53  	 *
    54 	 * @param aTokenTypes	An array to which the found token types will be appended. 
    55 	 * 						Ownership of the CCTTokenTypeInfo objects, whose pointers 
    56 	 *						are held by the array, are transferred to the caller.
    57 	 * @param aFilter		An object that is used to filter tokens, by being offered each 
    58 	 *						token in turn and declining the ones that are not required. 
    59 	 */
    60 	IMPORT_C static void ListL(RCPointerArray<CCTTokenTypeInfo>& aTokenTypes,
    61 							  const MCTTokenTypeFilter& aFilter);
    62 
    63 	/** 
    64 	 * Lists all the CCTTokenTypeInfo objects.
    65 	 *
    66 	 * This version does not take a filter, but returns all token types.
    67 	 *
    68 	 * @param aTokenTypes	An array to which the found token types will be appended. 
    69 	 * 						Ownership of the CCTTokenTypeInfo objects, whose pointers 
    70 	 *						are held by the array, are transferred to the caller. 
    71 	 */
    72 	IMPORT_C static void ListL(RCPointerArray<CCTTokenTypeInfo>& aTokenTypes);
    73 	
    74 	/** 
    75 	 * Destructor.
    76 	 *
    77 	 * Frees all resources owned by the object. 
    78 	 * @internalComponent
    79 	 */
    80 	~CCTTokenTypeInfo();
    81 
    82 	/** 
    83 	 * Gets a list of all interfaces supported by this token type.
    84 	 *
    85 	 * @return	A list of all the interfaces supported by this token type. 
    86 	 */
    87 	IMPORT_C const RArray<TUid>& Interfaces() const;
    88 
    89 	/** 
    90 	 * Gets a list of all attributes of this token type.
    91 	 *
    92 	 * @return	A list of all attributes of this token type. 
    93 	 */
    94 	IMPORT_C const RArray<TCTTokenTypeAttribute>& Attributes() const;
    95 
    96 	/** 
    97 	 * Gets a human-readable name for the token type.
    98 	 *
    99 	 * @return	A human-readable name for the token type. 
   100 	 */
   101 	IMPORT_C const TDesC& Label() const;
   102 
   103 	/** 
   104 	 * Gets the UID of this token type.
   105 	 *
   106 	 * @return	The UID of this token type. 
   107 	 */
   108 	IMPORT_C TUid Type() const;
   109 
   110  private:
   111 	/** Constructor */
   112 	CCTTokenTypeInfo(CImplementationInformation* aEcomImplementationInfo);
   113 
   114  private:
   115 	CImplementationInformation* iEcomImplementationInfo;
   116 	RArray<TUid> iInterfaces;
   117 	RArray<TCTTokenTypeAttribute> iAttributes;
   118 	};
   119 
   120 #endif // __CCTTOKENTYPEINFO_H__