--- a/installationservices/swi/inc/swi/swtypereginfo.h Tue Aug 31 15:21:33 2010 +0300
+++ b/installationservices/swi/inc/swi/swtypereginfo.h Wed Sep 01 12:22:02 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -29,23 +29,152 @@
#include <e32base.h>
#include <s32mem.h>
#include <ct/rcpointerarray.h>
-#include <usif/scr/screntries_platform.h>
namespace Swi
{
_LIT(KTxtSoftwareTypeComponentProperty, "softwareTypes");
+ class CLocalizedSoftwareTypeName : public CBase
+ {
+ public:
+ IMPORT_C static CLocalizedSoftwareTypeName* NewL(const TDesC& aName, TLanguage aLocale);
+ IMPORT_C static CLocalizedSoftwareTypeName* NewLC(const TDesC& aName, TLanguage aLocale);
+ IMPORT_C static CLocalizedSoftwareTypeName* NewL(RReadStream& aStream);
+
+ IMPORT_C virtual ~CLocalizedSoftwareTypeName();
+
+ IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+
+ inline const TDesC& Name() const;
+ inline TLanguage Locale() const;
+
+ private:
+ CLocalizedSoftwareTypeName();
+ CLocalizedSoftwareTypeName(TLanguage aLocale);
+
+ void InternalizeL(RReadStream& aStream);
+
+ private:
+ HBufC* iName;
+ TLanguage iLocale;
+ };
+
+// ##########################################################################################
+
+ class CSoftwareTypeRegInfo : public CBase
+ {
+ public:
+ IMPORT_C static CSoftwareTypeRegInfo* NewL(const TDesC& aUniqueSoftwareTypeName);
+ IMPORT_C static CSoftwareTypeRegInfo* NewL(RReadStream& aStream);
+
+ IMPORT_C virtual ~CSoftwareTypeRegInfo();
+
+ IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+ IMPORT_C TInt ExternalizedSize() const;
+
+ inline void SetSifPluginUid(TUid aUid);
+ inline void SetInstallerSecureId(TSecureId aSecureId);
+ inline void SetExecutionLayerSecureId(TSecureId aSecureId);
+ IMPORT_C void SetMimeTypeL(const TDesC& aMimeType);
+ IMPORT_C void SetLocalizedSoftwareTypeNameL(TLanguage aLanguage, const TDesC& aName);
+
+ inline const TDesC& UniqueSoftwareTypeName() const;
+ inline TUid SifPluginUid() const;
+ inline TSecureId InstallerSecureId() const;
+ inline TSecureId ExecutionLayerSecureId() const;
+ inline const RPointerArray<HBufC>& MimeTypes() const;
+ inline const RPointerArray<CLocalizedSoftwareTypeName>& LocalizedSoftwareTypeNames() const;
+
+ private:
+ CSoftwareTypeRegInfo();
+ void InternalizeL(RReadStream& aStream);
+
+ enum { EUniqueSwTypeNameMaxLength = 32 };
+
+ HBufC* iUniqueSoftwareTypeName;
+ TUid iSifPluginUid;
+ TSecureId iInstallerSecureId;
+ TSecureId iExecutionLayerSecureId;
+ RCPointerArray<HBufC> iMimeTypes;
+ RCPointerArray<CLocalizedSoftwareTypeName> iLocalizedSoftwareTypeNames;
+ };
+
+// ##########################################################################################
+
class SoftwareTypeRegInfoUtils
{
public:
- IMPORT_C static void SerializeArrayL(const RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RBuf8& aSerializedArray);
- IMPORT_C static void UnserializeArrayL(RReadStream& aStream, RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray);
- IMPORT_C static void SerializeUniqueSwTypeNamesL(const RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RBuf& aSerializedNames);
+ IMPORT_C static void SerializeArrayL(const RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RBuf8& aSerializedArray);
+ IMPORT_C static void UnserializeArrayL(RReadStream& aStream, RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray);
+ IMPORT_C static void SerializeUniqueSwTypeNamesL(const RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RBuf& aSerializedNames);
IMPORT_C static void UnserializeUniqueSwTypeNamesL(const TDesC& aSerializedNames, RArray<TPtrC>& aUniqueSwTypeNames);
- IMPORT_C static void ExtractMimeTypesL(const RPointerArray<Usif::CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RPointerArray<HBufC8>& aMimeTypes);
+ IMPORT_C static void ExtractMimeTypesL(const RPointerArray<CSoftwareTypeRegInfo>& aSwTypeRegInfoArray, RPointerArray<HBufC8>& aMimeTypes);
public:
enum { KUniqueNameSeparator = 0x1E }; // 'record separator'
};
+
+// ##########################################################################################
+
+ inline const TDesC& CLocalizedSoftwareTypeName::Name() const
+ {
+ return *iName;
+ }
+
+ inline TLanguage CLocalizedSoftwareTypeName::Locale() const
+ {
+ return iLocale;
+ }
+
+// ##########################################################################################
+
+ inline void CSoftwareTypeRegInfo::SetSifPluginUid(TUid aUid)
+ {
+ iSifPluginUid = aUid;
+ }
+
+ inline void CSoftwareTypeRegInfo::SetInstallerSecureId(TSecureId aSecureId)
+ {
+ iInstallerSecureId = aSecureId;
+ }
+
+ inline void CSoftwareTypeRegInfo::SetExecutionLayerSecureId(TSecureId aSecureId)
+ {
+ iExecutionLayerSecureId = aSecureId;
+ }
+
+ inline const TDesC& CSoftwareTypeRegInfo::UniqueSoftwareTypeName() const
+ {
+ if (iUniqueSoftwareTypeName == NULL)
+ {
+ return KNullDesC;
+ }
+ return *iUniqueSoftwareTypeName;
+ }
+
+ inline TUid CSoftwareTypeRegInfo::SifPluginUid() const
+ {
+ return iSifPluginUid;
+ }
+
+ TSecureId CSoftwareTypeRegInfo::InstallerSecureId() const
+ {
+ return iInstallerSecureId;
+ }
+
+ TSecureId CSoftwareTypeRegInfo::ExecutionLayerSecureId() const
+ {
+ return iInstallerSecureId;
+ }
+
+ const RPointerArray<HBufC>& CSoftwareTypeRegInfo::MimeTypes() const
+ {
+ return iMimeTypes;
+ }
+
+ const RPointerArray<CLocalizedSoftwareTypeName>& CSoftwareTypeRegInfo::LocalizedSoftwareTypeNames() const
+ {
+ return iLocalizedSoftwareTypeNames;
+ }
}
#endif // SWTYPEREGINFO_H