00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_CERTIFICATEFACTORYSPI_H
00024 #define _CLASS_CERTIFICATEFACTORYSPI_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/io/InputStream.h"
00031 using beecrypt::io::InputStream;
00032 #include "beecrypt/c++/io/OutputStream.h"
00033 using beecrypt::io::OutputStream;
00034 #include "beecrypt/c++/lang/Object.h"
00035 using beecrypt::lang::Object;
00036 #include "beecrypt/c++/security/cert/Certificate.h"
00037 using beecrypt::security::cert::Certificate;
00038
00039 #include <vector>
00040 using std::vector;
00041
00042 namespace beecrypt {
00043 namespace security {
00044 namespace cert {
00047 class BEECRYPTCXXAPI CertificateFactorySpi : public beecrypt::lang::Object
00048 {
00049 friend class CertificateFactory;
00050
00051 protected:
00052 virtual Certificate* engineGenerateCertificate(InputStream& in) throw (CertificateException) = 0;
00053 virtual vector<Certificate*>* engineGenerateCertificates(InputStream& in) throw (CertificateException) = 0;
00054
00055 public:
00056 virtual ~CertificateFactorySpi() {};
00057 };
00058 }
00059 }
00060 }
00061
00062 #endif
00063
00064 #endif