NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
data_signature_interface.h
Go to the documentation of this file.
1 #ifndef SDK_CRYPT_DATA_SIGNATURE_INTERFACE_H_
11 #define SDK_CRYPT_DATA_SIGNATURE_INTERFACE_H_
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/sdk_results.h>
15 #include <base/inc/sdk_ref_ptr.h>
17 #include <base/inc/forward_declarations.h>
20 
21 SDK_BEGIN_NAMESPACE
22 namespace crypt {
23 
24 FWD_DECL_INTERFACE(IDataSignature);
25 typedef IDataSignatureSP DataSignatureSP;
26 
30 {
31 public:
33  virtual SDKResult SDK_CALLTYPE GetDataSignature(
34  DigitalSignatureSP& data_signature) const throw() = 0;
35 
37  virtual SDKResult SDK_CALLTYPE GetCertificate(
38  DigitalCertificateSP& data_certificate) const throw() = 0;
39 
42  {
43  IDigitalSignatureSP signature;
44 
45  return (SDK_OK(GetDataSignature(signature)) && signature)
46  ? signature->GetSignatureAlgorithm()
47  : kDigitalSignatureAlgorithm_Unknown;
48  }
49 
51  SDK_IMPLEMENT_IID(IDataSignature)
52  SDK_END_INTERFACE(IDataSignature)
53 };
54 SDK_DECLARE_IID(IDataSignature)
55 
56 } // namespace crypt
57 SDK_END_NAMESPACE
58 
59 #endif // SDK_CRYPT_DATA_SIGNATURE_INTERFACE_H_
sdk_results.h
A list of SDK error/return results.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
crypt::DigitalSignatureAlgorithm
DigitalSignatureAlgorithm
Digital signature algorithm.
Definition: digital_signature_interface.h:31
crypt::IDataSignature
Generic digital signature for data interface.
Definition: data_signature_interface.h:29
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
crypt::IDataSignature::GetDataSignature
virtual SDKResult SDK_CALLTYPE GetDataSignature(DigitalSignatureSP &data_signature) const =0
Returns a signature instance for given data.
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
digital_certificate_interface.h
Generic digital cryptographic certificate interface.
SDK_OK
#define SDK_OK(res)
Checks succeeded result.
Definition: sdk_results_enum.h:65
digital_signature_interface.h
Generic digital signature interface.
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
crypt::IDataSignature::GetCertificate
virtual SDKResult SDK_CALLTYPE GetCertificate(DigitalCertificateSP &data_certificate) const =0
Returns certificate to use for data validation.
crypt::IDataSignature::GetDataSignatureAlgorithm
DigitalSignatureAlgorithm SDK_CALLTYPE GetDataSignatureAlgorithm() const
Returns data signature algorithm.
Definition: data_signature_interface.h:41
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.