diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/x520ava.h --- a/epoc32/include/x520ava.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/x520ava.h Wed Mar 31 12:33:34 2010 +0100 @@ -17,11 +17,10 @@ */ - - /** @file - @internalTechnology + @publishedAll + @released */ #if !defined(__X520AVA_H__) @@ -31,55 +30,7 @@ #include #include -/** The attribute type. -* -* @publishedAll -* @released -* @since v6.0 */ -enum TAttributeType - { - /** A common name */ - ECommonName, - /** A locality name */ - ELocalityName, - /** A state or province name */ - EStateOrProvinceName, - /** An organization name */ - EOrganizationName, - /** An organizational unit name */ - EOrganizationalUnitName, - /** A title */ - ETitle, - /** A qualifier */ - EDNQualifier, - /** The name of a country */ - ECountryName, - /** A given name */ - EGivenName, - /** A surname */ - ESurname, - /** Initials */ - EInitials, - /** A generation qualifier */ - EGenerationQualifier, - /** An email address. This is deprecated. */ - EPKCS9EmailAddress, - /** A postal code */ - EPostalCode, - /** A serial number */ - ESerialNumber, - /** An RFC 2247 domain component. - * - * A domain name is made up of an ordered set of components.*/ - ERFC2247DomainComponent, - /** RFC 2256 street component. - * - * A street */ - ERFC2256Street, - /** A name of the subject of a certificate as an unstructured ASCII string */ - EPKCS9UnstructuredName - }; - +//these are for internal use only //these are the only attribute types we handle at present _LIT(KX520CountryName,"2.5.4.6"); _LIT(KX520OrganizationName,"2.5.4.10"); @@ -94,6 +45,9 @@ _LIT(KX520GenerationQualifier,"2.5.4.44"); _LIT(KX520DNQualifier,"2.5.4.46"); _LIT(KX520SerialNumber,"2.5.4.5"); +_LIT(KX520Description,"2.5.4.13"); + +//more attribute types we handle at present _LIT(KX520PostalCode,"2.5.4.17"); _LIT(KRFC2247DomainComponent, "0.9.2342.19200300.100.1.25"); _LIT(KRFC2256Street,"2.5.4.9"); @@ -139,6 +93,59 @@ const TInt KRFC2247MaxDomainComponentLength = 128; /** The maximum length allowed a for street. */ const TInt KRFC2256StreetLength = 128; +/** The maximum length allowed for an Description field. */ +const TInt KX520MaxDescriptionLength = 1024; + + +/** The attribute type. +* +* @since v6.0 */ +enum TAttributeType + { + /** A common name */ + ECommonName, + /** A locality name */ + ELocalityName, + /** A state or province name */ + EStateOrProvinceName, + /** An organization name */ + EOrganizationName, + /** An organizational unit name */ + EOrganizationalUnitName, + /** A title */ + ETitle, + /** A qualifier */ + EDNQualifier, + /** The name of a country */ + ECountryName, + /** A given name */ + EGivenName, + /** A surname */ + ESurname, + /** Initials */ + EInitials, + /** A generation qualifier */ + EGenerationQualifier, + /** An email address. This is deprecated. */ + EPKCS9EmailAddress, + /** A postal code */ + EPostalCode, + /** A serial number */ + ESerialNumber, + /** An RFC 2247 domain component. + * + * A domain name is made up of an ordered set of components.*/ + ERFC2247DomainComponent, + /** RFC 2256 street component. + * + * A street */ + ERFC2256Street, + /** A name of the subject of a certificate as an unstructured ASCII string */ + EPKCS9UnstructuredName, + /** A Description */ + EX520Description, + }; + class CASN1EncSequence; @@ -148,8 +155,6 @@ * A Distinguished Name object, as defined by the X.500 standard, consists of * a sequence of these objects. * -* @publishedAll -* @released * @since v6.0 */ // Attribute and value pair class. Attribute and value pairs @@ -310,16 +315,16 @@ void ConstructL(const TDesC8& aBinaryData, TInt& aPos); void ConstructL(TAttributeType aType, const TDesC8& aValue); /** - * This method finds out if case-insensitive comparisons must be done or not. + * This method finds out if case-insensitive comparisons must be done or not. * Email Address is the exceptional case of 'IA5String' value type for which comparisons must be * done case-insensitivly. * * @param aSource contains the encoded value of the attribute type. - * @return ETrue, if case-insensitive comparisons are to be done. - * This is only when value type is a Printable String OR if attribute type is an Email Address. - * EFalse, otherwise. - */ - TBool IsCaseInSensitive(const TDesC8& aSource) const; + * @return ETrue, if case-insensitive comparisons are to be done. + * This is only when value type is a Printable String OR if attribute type is an Email Address. + * EFalse, otherwise. + */ + TBool IsCaseInSensitiveL(const TDesC8& aSource) const; HBufC* iType; ///< The encoded type HBufC8* iValue; ///< The encoded value };