First public contribution.
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
25 #ifndef __TSIGNATUREINPUT_H__
26 #define __TSIGNATUREINPUT_H__
30 /** An abstract class capable of representing a message to be signed or verified. */
31 class CSignatureInput : public CBase
34 virtual void Update(const TDesC8& aInput) = 0;
35 virtual TPtrC8 Final(void) = 0;
37 CSignatureInput(void) {}
39 CSignatureInput(const CSignatureInput&);
40 CSignatureInput& operator=(const CSignatureInput&);
43 class CHashingSignatureInput : public CSignatureInput
46 static CHashingSignatureInput* NewL(CMessageDigest::THashId aHashId);
47 static CHashingSignatureInput* NewLC(CMessageDigest::THashId aHashId);
48 virtual void Update(const TDesC8& aInput);
49 virtual TPtrC8 Final(void);
50 ~CHashingSignatureInput(void);
52 CHashingSignatureInput(void);
53 void ConstructL(CMessageDigest::THashId aHashId);
55 CMessageDigest* iHash;
57 CHashingSignatureInput(const CHashingSignatureInput&);
58 CHashingSignatureInput& operator=(const CHashingSignatureInput&);