homescreenpluginsrv/inc/hspspluginidlist.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:17 +0200
changeset 0 79c6a41cd166
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  
*
*  HSPS ChspsPluginIdList-class defines all information what is needed to maintain
*  resources of Application Theme. Every ChspsPluginIdList-objects defines just one 
*  resource source, however, the same resource source could be referenced
*  multiple times inside a theme - resources are usually shared. 
*  HSPS Application Theme Management system supports theme resourcing by 
*  offering resource conversations and storing services, and offering Rendering
*  Engines the following services:
*  1) the way to match a resource quoted in xml- or css-module to the 
*  corresponding resource source, and 2) a secure way to access a resource 
*  through the Symbian Platform Security's process separation wall.
*
*
*/


#ifndef hspsPLUGINIDLIST_H
#define hspsPLUGINIDLIST_H

#include <e32base.h>
#include <s32mem.h> // streams

/**
*  ChspsPluginIdList is HSPS-utility class for passing IPC data 
*
*  @lib hspsResource.lib
*  @since S60 5.0
*  @ingroup group_hspsresult
*/
class ChspsPluginIdList : public CArrayFixFlat<TInt>
    {
    public:  // Constructors and destructor
                            
    	/**
        * C++ default constructor.
        * 
        * @since S60 5.0
        * @param aGranularity List granularity.
        */
    	IMPORT_C ChspsPluginIdList( TInt aGranularity );
    	    	
        /**
        * Destructor.
        */
    	IMPORT_C virtual ~ChspsPluginIdList();

    public: // New functions
                        
        /**
        * Externalizes ChspsResource-object's member data.
        * 
        * @since S60 5.0
        * @param aStream is a write stream given.
        */
        IMPORT_C void ExternalizeL( RDesWriteStream& aStream ) const;
        
        /**
        * Internalizes ChspsResource-object's member data.
        * 
        * @since S60 5.0
        * @param aStream is data read stream given.
        */
        IMPORT_C void InternalizeL( RDesReadStream& aStream );
        
        /**
        * Calculates data length of the ChspsPluginIdList object.
        * 
        * @since S60 5.0
        * @return Data length.
        */
        IMPORT_C TInt GetDataLength();
                                   
    private:     // Data
    	
    };

#endif      // hspsPLUGINIDLIST_H

// End of File