diff options
author | lloyd <[email protected]> | 2008-04-21 15:53:32 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-04-21 15:53:32 +0000 |
commit | 90224856d6cc454eba6d5eacf4439b2d732acd65 (patch) | |
tree | 284a7afe5ede70c79878dad222891fa155f60512 /include/pk_keys.h | |
parent | 272a8523e3c19e1c297b335a316a335db6c7128d (diff) |
Add BOTAN_DLL macro in all needed spots for working DLL export. Based
on a patch from Joel Low for MSVC, modified and tested with GCC using
-fvisibility=hidden and the visibility attribute.
Getting this working completely requires making the shared object and
static lib builds completely distinct (which is also a win since it
allows avoiding -fPIC usage, etc in the static lib).
Currently too many things are being exported, though it is an improvement
as internal-only code like the bigint_* functions are hidden.
Diffstat (limited to 'include/pk_keys.h')
-rw-r--r-- | include/pk_keys.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/include/pk_keys.h b/include/pk_keys.h index 89173e739..36905e868 100644 --- a/include/pk_keys.h +++ b/include/pk_keys.h @@ -14,7 +14,7 @@ namespace Botan { /************************************************* * Public Key Base Class * *************************************************/ -class Public_Key +class BOTAN_DLL Public_Key { public: virtual std::string algo_name() const = 0; @@ -36,7 +36,7 @@ class Public_Key /************************************************* * Private Key Base Class * *************************************************/ -class Private_Key : public virtual Public_Key +class BOTAN_DLL Private_Key : public virtual Public_Key { public: virtual class PKCS8_Encoder* pkcs8_encoder() const { return 0; } @@ -49,7 +49,7 @@ class Private_Key : public virtual Public_Key /************************************************* * PK Encrypting Key * *************************************************/ -class PK_Encrypting_Key : public virtual Public_Key +class BOTAN_DLL PK_Encrypting_Key : public virtual Public_Key { public: virtual SecureVector<byte> encrypt(const byte[], u32bit) const = 0; @@ -59,7 +59,7 @@ class PK_Encrypting_Key : public virtual Public_Key /************************************************* * PK Decrypting Key * *************************************************/ -class PK_Decrypting_Key : public virtual Private_Key +class BOTAN_DLL PK_Decrypting_Key : public virtual Private_Key { public: virtual SecureVector<byte> decrypt(const byte[], u32bit) const = 0; @@ -69,7 +69,7 @@ class PK_Decrypting_Key : public virtual Private_Key /************************************************* * PK Signing Key * *************************************************/ -class PK_Signing_Key : public virtual Private_Key +class BOTAN_DLL PK_Signing_Key : public virtual Private_Key { public: virtual SecureVector<byte> sign(const byte[], u32bit) const = 0; @@ -79,7 +79,7 @@ class PK_Signing_Key : public virtual Private_Key /************************************************* * PK Verifying Key, Message Recovery Version * *************************************************/ -class PK_Verifying_with_MR_Key : public virtual Public_Key +class BOTAN_DLL PK_Verifying_with_MR_Key : public virtual Public_Key { public: virtual SecureVector<byte> verify(const byte[], u32bit) const = 0; @@ -89,7 +89,7 @@ class PK_Verifying_with_MR_Key : public virtual Public_Key /************************************************* * PK Verifying Key, No Message Recovery Version * *************************************************/ -class PK_Verifying_wo_MR_Key : public virtual Public_Key +class BOTAN_DLL PK_Verifying_wo_MR_Key : public virtual Public_Key { public: virtual bool verify(const byte[], u32bit, @@ -100,7 +100,7 @@ class PK_Verifying_wo_MR_Key : public virtual Public_Key /************************************************* * PK Secret Value Derivation Key * *************************************************/ -class PK_Key_Agreement_Key : public virtual Private_Key +class BOTAN_DLL PK_Key_Agreement_Key : public virtual Private_Key { public: virtual SecureVector<byte> derive_key(const byte[], u32bit) const = 0; |