00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef MMCCSECURECINTERFACE_H
00022 #define MMCCSECURECINTERFACE_H
00023
00024 #include <e32base.h>
00025 #include <mmccinterface.h>
00026
00027 const TInt KMccLinkSecure = 110;
00028 const TInt KMccLinkSecureVideo = 111;
00029
00030 class CMccInterface;
00031 class CMccCryptoContextContainer;
00032 class TMccCryptoContext;
00033
00039 class CMccSecureInterface : public CBase
00040 {
00041 public:
00042
00049 IMPORT_C static CMccSecureInterface* NewL( CMccInterface& aInterface );
00050
00054 virtual ~CMccSecureInterface();
00055
00056 public:
00057
00067 IMPORT_C TInt CreateContext( const TDesC8& aMasterKey,
00068 const TDesC8& aSaltKey,
00069 TUint32& aContextId,
00070 const TDesC8& aParams );
00071
00081 IMPORT_C TInt UpdateContext( const TDesC8& aMasterKey,
00082 const TDesC8& aSaltKey,
00083 TUint32 aContextId,
00084 const TDesC8& aParams );
00085
00092 IMPORT_C TInt RemoveContext( TUint32 aContextId );
00093
00108 IMPORT_C TInt Bind( TUint32 aSessionId, TUint32 aLinkId,
00109 TUint32 aStreamId, TUint32 aEndPointId,
00110 TUint32 aContextId );
00111
00112 private:
00113
00117 CMccSecureInterface( CMccInterface& aController );
00118
00122 void ConstructL();
00123
00124 private:
00125
00129 CMccInterface& iInterface;
00130
00134 TMMFMessageDestinationPckg iMessageDest;
00135
00139 RMMFController iController;
00140
00145 CMccCryptoContextContainer* iContextContainer;
00146
00147 };
00148
00149 #endif