00001
00002
00003
00004
00005
00006
00007
00008 #include <botan/basefilt.h>
00009 #include <botan/key_filt.h>
00010
00011 namespace Botan {
00012
00013 void Keyed_Filter::set_iv(const InitializationVector& iv)
00014 {
00015 if(iv.length() != 0)
00016 throw Invalid_IV_Length(name(), iv.length());
00017 }
00018
00019
00020
00021
00022 Chain::Chain(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
00023 {
00024 if(f1) { attach(f1); incr_owns(); }
00025 if(f2) { attach(f2); incr_owns(); }
00026 if(f3) { attach(f3); incr_owns(); }
00027 if(f4) { attach(f4); incr_owns(); }
00028 }
00029
00030
00031
00032
00033 Chain::Chain(Filter* filters[], u32bit count)
00034 {
00035 for(u32bit j = 0; j != count; ++j)
00036 if(filters[j])
00037 {
00038 attach(filters[j]);
00039 incr_owns();
00040 }
00041 }
00042
00043 std::string Chain::name() const
00044 {
00045 return "Chain";
00046 }
00047
00048
00049
00050
00051 Fork::Fork(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
00052 {
00053 Filter* filters[4] = { f1, f2, f3, f4 };
00054 set_next(filters, 4);
00055 }
00056
00057
00058
00059
00060 Fork::Fork(Filter* filters[], u32bit count)
00061 {
00062 set_next(filters, count);
00063 }
00064
00065 std::string Fork::name() const
00066 {
00067 return "Fork";
00068 }
00069
00070 }