00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_SECURERANDOMSPI_H
00024 #define _CLASS_SECURERANDOMSPI_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/lang/Object.h"
00031 using beecrypt::lang::Object;
00032
00033 namespace beecrypt {
00034 namespace security {
00037 class BEECRYPTCXXAPI SecureRandomSpi : public beecrypt::lang::Object
00038 {
00039 friend class SecureRandom;
00040
00041 protected:
00042 virtual void engineGenerateSeed(byte*, size_t) = 0;
00043 virtual void engineNextBytes(byte*, size_t) = 0;
00044 virtual void engineSetSeed(const byte*, size_t) = 0;
00045
00046 public:
00047 virtual ~SecureRandomSpi() {};
00048 };
00049 }
00050 }
00051
00052 #endif
00053
00054 #endif