|
||
class CBaNamedPlugins : public CBase, public MDesC16Array;
A localised list of the names of the plug-ins available on the phone for a particular plug-in framework.
This class should be used by applications that display lists of plug-ins. It is provided so that the plug-in names displayed to users:
are not filenames
are localisable, i.e. for a multi-language ROM device, plug-in names must be translated into the correct language and sorted according to the locale's collation rules
can be filtered depending on the current locale, i.e. the user will not necessarily see the names of all plug-ins for a given framework for every language of a multi-language ROM.
Note that the class MDesC16Array
is shown in the derivation tree. The class definition for CBaNamedPlugins, however, uses the typedef MDesCArray. In 6.1 builds,
the symbol MDesCArray always resolves to MDesC16Array
.
MDesC16Array
- Interface class for 16 bit descriptor arrays. It should be inherited by classes ...
CBase
-
Base class for all classes to be instantiated on the heap.
CBaNamedPlugins
- A localised list of the names of the plug-ins available on the phone for a parti...
Defined in CBaNamedPlugins
:
CParameters
The parameters for a localised list of plug-in names.EArrayPositionFirst
The string is inserted at the start of the list (array position zero). EArrayPositionLast
The string is appended to the list. IdentifierAtIndex(TInt)const
Gets the identifier of the plug-in at the specified index into the MDesCArray.IndexOfIdentifier(const TDesC &,TEquivalentIdentifiers)const
Gets the index into the sorted list (i.e. the index into the MDesCArray) of the ...IndexOfUid(TUid)const
Gets the index into the sorted list (i.e. the index into the MDesCArray) of the ...MFallBackName
Interface class with a single pure virtual function that generates a fallback na...MdcaCount()const
Gets the number of plug-ins in the list.MdcaPoint(TInt)const
Returns a TPtrC for the name of the plug-in at the given index.NewL(const CParameters &)
Allocates and constructs a new list of plug-in names. The list is populated usin...NewLC(const CParameters &)
Allocates and constructs a new list of plug-in names. The list is populated usin...TArrayPosition
The position in the list of plug-in names for the text string which represents t...TCompareNames
The prototype for a function that compares two plug-in names, aName1 and aName2 ...TEquivalentIdentifiers
The prototype for a function that compares two plug-in identifiers, aIdentifier1...TResourceFile
Information about a resource file containing the names of one or more named plug...UidAtIndex(TInt)const
Gets the UID of the plug-in at the specified index into the MDesCArray.~CBaNamedPlugins()
Destructor. Deletes all resources owned by the object prior to its destruction. Inherited from CBase
:
Delete(CBase *)
Deletes the specified object.Extension_(TUint,TAny *&,TAny *)
Extension function operator new(TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TAny *)
Initialises the object to binary zeroes.operator new(TUint,TLeave)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TLeave,TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TUint)
Allocates the object from the heap and then initialises its contents to binary z...IMPORT_C static CBaNamedPlugins* NewL(const CParameters &aParameters);
Allocates and constructs a new list of plug-in names. The list is populated using the CBaNamedPlugins::CParameters
object passed into the function. The CBaNamedPlugins::CParameters
object can be destroyed once the CBaNamedPlugins object has been created.
|
|
IMPORT_C static CBaNamedPlugins* NewLC(const CParameters &aParameters);
Allocates and constructs a new list of plug-in names. The list is populated using the CBaNamedPlugins::CParameters
object passed into the function. The list is left on the cleanup stack. The CBaNamedPlugins::CParameters
object can be destroyed once the CBaNamedPlugins object has been created.
|
|
IMPORT_C virtual ~CBaNamedPlugins();
Destructor. Deletes all resources owned by the object prior to its destruction.
IMPORT_C TInt IndexOfUid(TUid aUid) const;
Gets the index into the sorted list (i.e. the index into the MDesCArray) of the plug-in associated with the UID specified.
|
|
IMPORT_C TInt IndexOfIdentifier(const TDesC &aIdentifier, TEquivalentIdentifiers aEquivalentIdentifiers) const;
Gets the index into the sorted list (i.e. the index into the MDesCArray) of the plug-in associated with the identifier specified.
|
|
IMPORT_C TUid UidAtIndex(TInt aIndex) const;
Gets the UID of the plug-in at the specified index into the MDesCArray.
|
|
IMPORT_C const TDesC* IdentifierAtIndex(TInt aIndex) const;
Gets the identifier of the plug-in at the specified index into the MDesCArray.
|
|
IMPORT_C virtual TInt MdcaCount() const;
Gets the number of plug-ins in the list.
|
IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const;
Returns a TPtrC for the name of the plug-in at the given index.
|
|
class TResourceFile;
Information about a resource file containing the names of one or more named plug-ins.
The information is the full filename of the resource file (the language-specific version of this file provides the localised names, for display to users), the format for the contents of the resource file and a unique identifier for the plug-in, which is either a UID or an arbitrary textual identifier (this is not for display).
An array of CBaNamedPlugins::TResourceFile
objects is passed to CBaNamedPlugins::CParameters::NewL(RFs &,const TArray< TResourceFile > &)
and CBaNamedPlugins::NewLC(const CParameters &)
.
Defined in CBaNamedPlugins::TResourceFile
:
EFormatArrayOfUidNamePairs
The resource file contains an ARRAY resource, whose items are UID_NAME_PAIR stru...EFormatTbuf
The resource file contains a single TBUF (text string) resource, to hold the plu...TFormat
The format of the contents of a resource file.iFormat
The format of the resource file's contents. iFullFileName
The full filename of the resource file, with a language-independent extension (i...iIdentifier
Optional unique identifier for the plug-in , for instance the filename of the pl...iUid
Optional plug-in UID. If not applicable, it may have a value of KNullUid. TFormat
TFormat
The format of the contents of a resource file.
The EFormatArrayOfUidNamePairs format enables the names of multiple plug-ins to be held in a single resource file. This could be used in situations where a fixed set of plug-ins are provided in a single package, e.g. the plug-ins provided in a ROM (helping to reduce ROM space). In other cases, the EFormatTbuf format should be used (here a single resource file provides the name of a single plug-in).
|
iFullFileName
HBufC * iFullFileName;
The full filename of the resource file, with a language-independent extension (i.e. .rsc rather than, for instance, .r12).
The language-specific version of this file (with the correct language extension) contains the localised name of the plug-in.
The BaflUtils
class is used internally to create the correct language extension for iFullFileName.
BaflUtils::NearestLanguageFile(const RFs &,TFileName &)
Searches for the file with the correct language extension for the language of th...iIdentifier
HBufC * iIdentifier;
Optional unique identifier for the plug-in , for instance the filename of the plug in's DLL. If not applicable, it may be NULL.
iUid
TUid iUid;
Optional plug-in UID. If not applicable, it may have a value of KNullUid.
iFormat
TFormat iFormat;
The format of the resource file's contents.
class MFallBackName;
Interface class with a single pure virtual function that generates a fallback name for plug-ins.
The CBaNamedPlugins::MFallBackName::FallBackNameL(const TDesC &)const
function is called during construction of the CBaNamedPlugins
object for any plug-ins for which no resource file could be found with the correct language extension.
Use of this interface is optional. To use it, pass an instance of a class which implements the interface to CBaNamedPlugins::CParameters::SetFallBackName(const MFallBackName &)
. If this is not done, then by default the fallback name used for plug-ins is simply the filename of the resource file without
the drive, directory path or extension.
Defined in CBaNamedPlugins::MFallBackName
:
FallBackNameL(const TDesC &)const
Generates and returns a fallback name for plug-ins for which no resource is avai...FallBackNameL(const TDesC &)const
virtual HBufC* FallBackNameL(const TDesC &aFullResourceFileName) const=0;
Generates and returns a fallback name for plug-ins for which no resource is available. The fallback name can be generated using the filename of the plug-in's resource file, which is passed as an argument.
|
|
class CParameters : public CBase;
The parameters for a localised list of plug-in names.
An object of this class is passed to CBaNamedPlugins::NewL(const CParameters &)
and CBaNamedPlugins::CParameters::NewLC(RFs &,const TArray< TResourceFile > &)
. The parameters are as follows - minimally, the first two must be provided:
An array of CBaNamedPlugins::TResourceFile
objects. Each object contains information about a single plug-in, or multiple plug-ins, including the filename of the corresponding
resource file. Versions of these resource files with the correct filename extensions for the required languages provide the
name of one or more plug-in, translated appropriately.
A connected session with the file server. This is required to search the file sytem for the localised resource files, then to open them for reading.
An optional object that generates a fallback name for plug-ins, if no resource file could be found. If no such function is provided, then the fallback name used for plug-ins is simply the filename of the resource file without the drive, directory path or extension.
An optional function that compares two plug-in names for sorting. The list is sorted after it has been fully populated, using this algorithm. If not specified, sorting is done by using the system-wide (locale-dependent) collation rules.
An optional descriptor which, if provided, adds an additional item whose meaning is "none" (i.e. "no plug-in") to the MDesCArray, and the array position (either the start or the end of the array) at which to insert it.
CBase
-
Base class for all classes to be instantiated on the heap.
CBaNamedPlugins::CParameters
- The parameters for a localised list of plug-in names.
Defined in CBaNamedPlugins::CParameters
:
NewL(RFs &,const TArray< TResourceFile > &)
Allocates and constructs a new parameters object.NewLC(RFs &,const TArray< TResourceFile > &)
Allocates and constructs a new parameters object. The object is left on the clea...SetCompareNames(TCompareNames)
Sets a function that compares two plug-in names for sorting. The plug-in names l...SetFallBackName(const MFallBackName &)
Sets a function that generates a fallback name for plug-ins for which no resourc...SetTextForNone(HBufC *,TArrayPosition)
Sets a text string, representing the choice of no plug-in and the array position...SetTextForNoneL(const TDesC &,TArrayPosition)
Sets a text string, representing the choice of no plug-in and the array position...~CParameters()
Destructor. Deletes all resources owned by the object. Inherited from CBase
:
Delete(CBase *)
Deletes the specified object.Extension_(TUint,TAny *&,TAny *)
Extension function operator new(TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TAny *)
Initialises the object to binary zeroes.operator new(TUint,TLeave)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TLeave,TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TUint)
Allocates the object from the heap and then initialises its contents to binary z...NewL(RFs &,const TArray< TResourceFile > &)
IMPORT_C static CParameters* NewL(RFs &aFileServerSession, const TArray< TResourceFile > &aArrayOfResourceFiles);
Allocates and constructs a new parameters object.
|
|
NewLC(RFs &,const TArray< TResourceFile > &)
IMPORT_C static CParameters* NewLC(RFs &aFileServerSession, const TArray< TResourceFile > &aArrayOfResourceFiles);
Allocates and constructs a new parameters object. The object is left on the cleanup stack.
|
|
~CParameters()
IMPORT_C virtual ~CParameters();
Destructor. Deletes all resources owned by the object.
SetFallBackName(const MFallBackName &)
IMPORT_C void SetFallBackName(const MFallBackName &aFallBackName);
Sets a function that generates a fallback name for plug-ins for which no resource file could be found. If CBaNamedPlugins::CParameters::SetFallBackName(const MFallBackName &)
is not called, then by default the fallback name used for plug-ins is simply the filename of the resource file without the
drive, directory path or extension.
|
SetCompareNames(TCompareNames)
IMPORT_C void SetCompareNames(TCompareNames aCompareNames);
Sets a function that compares two plug-in names for sorting. The plug-in names list is sorted after it has been fully populated,
using this algorithm. If CBaNamedPlugins::CParameters::SetCompareNames(TCompareNames)
is not called, collation takes place by default using TDesC16::CompareC(const TDesC16 &)const
.
|
SetTextForNoneL(const TDesC &,TArrayPosition)
IMPORT_C void SetTextForNoneL(const TDesC &aTextForNone, TArrayPosition aArrayPositionOfTextForNone);
Sets a text string, representing the choice of no plug-in and the array position at which to insert it. This function increases the length of the plug-in names list by one because it creates and adds an item to the array which is empty except for the text string specified.
|
SetTextForNone(HBufC *,TArrayPosition)
IMPORT_C void SetTextForNone(HBufC *aTextForNone, TArrayPosition aArrayPositionOfTextForNone);
Sets a text string, representing the choice of no plug-in and the array position at which to insert it. This function increases
the length of the plug-in names list by one because it creates and adds an item to the array which is empty except for the
text string specified. The function cannot leave because nothing is allocated ownership of aTextForNone is passed to the CBaNamedPlugins::CParameters
object.
|
TArrayPosition
The position in the list of plug-in names for the text string which represents the choice of no plug-in.
Passed as an argument to SetTextForNoneL() and SetTextForNone().
|
typedef TInt(* CBaNamedPlugins::TCompareNames)(const TDesC& aName1, const TDesC& aName2);
The prototype for a function that compares two plug-in names, aName1 and aName2 for sorting.
The plug-in names list is sorted using this algorithm after it has been populated. Implementing this function is optional.
If implemented, it is passed as a parameter to CBaNamedPlugins::CParameters::SetCompareNames(TCompareNames)
. If not implemented, a default algorithm is used.
The function should return a positive value if aName1 is to occur after aName2 or negative if aName1 is to occur before aName2. Zero should be returned if both descriptors are equivalent.
typedef TBool(* CBaNamedPlugins::TEquivalentIdentifiers)(const TDesC& aIdentifier1, const TDesC& aIdentifier2);
The prototype for a function that compares two plug-in identifiers, aIdentifier1 and aIdentifier2 to find out if they are the same.
Implementing this function is optional. If implemented, it is passed to CBaNamedPlugins::IndexOfIdentifier(const TDesC &,TEquivalentIdentifiers)const
, which uses the function to compare a specified plug-in identifier with each identifier in turn in the list of named plug-ins.
The function should return ETrue if they are the same, EFalse if not. TDesC16::CompareC(const TDesC16 &)const
could be used to do the comparison.
TDesC16::CompareC(const TDesC16 &)const
Compares this descriptor's data with the specified descriptor's data using the s...TDesC8::CompareC(const TDesC8 &)const
Compares this descriptor's data with the specified descriptor's data using the s...