diff options
author | Jay Berkenbilt <ejb@ql.org> | 2013-11-30 18:02:56 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2013-12-14 21:17:35 +0100 |
commit | 5e3bad2f86665b35155095b91a2d672fc7335870 (patch) | |
tree | 984d4830ee0dd3b8e90bae913f411a84c8e876d4 /include/qpdf/RandomDataProvider.hh | |
parent | e9a319fb9536347aeab076cdb18e1ff97eb66c07 (diff) | |
download | qpdf-5e3bad2f86665b35155095b91a2d672fc7335870.tar.zst |
Refactor random data generation
Add new RandomDataProvider object and implement existing random number
generation in terms of that. This enables end users to supply their
own random data providers.
Diffstat (limited to 'include/qpdf/RandomDataProvider.hh')
-rw-r--r-- | include/qpdf/RandomDataProvider.hh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/qpdf/RandomDataProvider.hh b/include/qpdf/RandomDataProvider.hh new file mode 100644 index 00000000..68c9cb6e --- /dev/null +++ b/include/qpdf/RandomDataProvider.hh @@ -0,0 +1,32 @@ +/* Copyright (c) 2005-2013 Jay Berkenbilt + * + * This file is part of qpdf. This software may be distributed under + * the terms of version 2 of the Artistic License which may be found + * in the source distribution. It is provided "as is" without express + * or implied warranty. + */ + +#ifndef __RANDOMDATAPROVIDER_HH__ +#define __RANDOMDATAPROVIDER_HH__ + +#include <string.h> // for size_t + +class RandomDataProvider +{ + public: + virtual ~RandomDataProvider() + { + } + virtual void provideRandomData(unsigned char* data, size_t len) = 0; + + protected: + RandomDataProvider() + { + } + + private: + RandomDataProvider(RandomDataProvider const&); + RandomDataProvider& operator=(RandomDataProvider const&); +}; + +#endif // __RANDOMDATAPROVIDER_HH__ |