00001
00002
00003
00004
00005
00006
00007
00008 #ifndef BOTAN_BASEFILT_H__
00009 #define BOTAN_BASEFILT_H__
00010
00011 #include <botan/filter.h>
00012
00013 namespace Botan {
00014
00015
00016
00017
00018 struct BOTAN_DLL BitBucket : public Filter
00019 {
00020 void write(const byte[], u32bit) {}
00021
00022 std::string name() const { return "BitBucket"; }
00023 };
00024
00025
00026
00027
00028
00029
00030
00031 class BOTAN_DLL Chain : public Fanout_Filter
00032 {
00033 public:
00034 void write(const byte input[], u32bit length) { send(input, length); }
00035
00036 std::string name() const;
00037
00038
00039
00040
00041
00042 Chain(Filter* = 0, Filter* = 0, Filter* = 0, Filter* = 0);
00043
00044
00045
00046
00047
00048
00049 Chain(Filter* filter_arr[], u32bit length);
00050 };
00051
00052
00053
00054
00055
00056
00057 class BOTAN_DLL Fork : public Fanout_Filter
00058 {
00059 public:
00060 void write(const byte input[], u32bit length) { send(input, length); }
00061 void set_port(u32bit n) { Fanout_Filter::set_port(n); }
00062
00063 std::string name() const;
00064
00065
00066
00067
00068 Fork(Filter*, Filter*, Filter* = 0, Filter* = 0);
00069
00070
00071
00072
00073
00074
00075 Fork(Filter* filter_arr[], u32bit length);
00076 };
00077
00078 }
00079
00080 #endif