sysstatemgmt/systemstatemgr/inc/ssmsupinfo.h
changeset 0 4e1aa6a622a0
equal deleted inserted replaced
-1:000000000000 0:4e1aa6a622a0
       
     1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __SSMSUPINFO_H__
       
    17 #define __SSMSUPINFO_H__
       
    18 
       
    19 #include <e32cmn.h>
       
    20 #include <e32def.h>
       
    21 
       
    22 class RReadStream;
       
    23 class RWriteStream;
       
    24 
       
    25 /**
       
    26  A parameter class intended to hold the information needed to identify utility 
       
    27  plugins which are to be loaded into the Utility Server. These DLLs  must have 
       
    28  @c KSsmUtilityPluginDllTypeUid as their second UID and must have a function 
       
    29  that returns an @c MSsmUtility object.
       
    30  
       
    31  The first member of this class, filename, is mandatory to identify the plugin DLL. 
       
    32  The second member is supposed to point at the DLL ordinal function which 
       
    33  instantiates and returns an @c MSsmUtility object. The prototype for this function
       
    34  must be MSsmUtility* NewL(void)
       
    35  The third member can be used for an optional validation of the third UID of the DLL.
       
    36  
       
    37  @see MSsmUtility
       
    38  @see SSM_START_SSM_UTILITY_PLUGIN
       
    39  @publishedPartner
       
    40  @released
       
    41  */
       
    42 NONSHARABLE_CLASS(TSsmSupInfo)
       
    43 	{
       
    44 public:
       
    45 	IMPORT_C TSsmSupInfo();
       
    46 	IMPORT_C TSsmSupInfo(const TDesC& aFileName);
       
    47 	IMPORT_C TSsmSupInfo(const TDesC& aFileName, TInt aNewLOrdinal);
       
    48 	IMPORT_C TSsmSupInfo(const TDesC& aFileName, TInt aNewLOrdinal, const TUid& aIdentityUid);
       
    49 	IMPORT_C ~TSsmSupInfo();
       
    50 	IMPORT_C void SetL(const TDesC& aFileName, TInt aNewLOrdinal, const TUid& aIdentityUid);
       
    51 	IMPORT_C const TFileName& FileName() const;
       
    52 	IMPORT_C TInt NewLOrdinal() const;
       
    53 	IMPORT_C TUid Identity() const;
       
    54 	IMPORT_C void InternalizeL( RReadStream& aReadStream );
       
    55 	IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ) const;
       
    56 	
       
    57 private:
       
    58 	TFileName iFileName;	//Filename without drive or path
       
    59 	TInt32 iNewLOrdinal;	//The ordinal position of the function: MSsmUtility* NewL(void)
       
    60 	TUid iIdentity;			//Third UID, for an optional security-check
       
    61 	TInt iSpare;
       
    62 	};
       
    63 
       
    64 
       
    65 #endif	// __SSMSUPINFO_H__