00001 #ifndef wali_KEY_PAIR_SOURCE_GUARD 00002 #define wali_KEY_PAIR_SOURCE_GUARD 1 00003 00004 /** 00005 * @author Nicholas Kidd 00006 */ 00007 00008 #include "wali/Common.hpp" 00009 #include "wali/KeySource.hpp" 00010 #include "wali/KeyContainer.hpp" 00011 00012 namespace wali 00013 { 00014 class KeyPairSource : public wali::KeySource 00015 { 00016 public: 00017 KeyPairSource( Key k1, Key k2 ); 00018 00019 KeyPairSource( const KeyPair& kp ); 00020 00021 virtual ~KeyPairSource(); 00022 00023 virtual bool equal( KeySource* rhs ); 00024 00025 virtual size_t hash() const; 00026 00027 virtual std::ostream& print( std::ostream& o ) const; 00028 00029 const KeyPair& get_key_pair() const; 00030 00031 Key first() const; 00032 00033 Key second() const; 00034 00035 private: 00036 const KeyPair kp; 00037 00038 }; // class KeyPairSource 00039 00040 } // namespace wali 00041 00042 #endif // wali_KEY_PAIR_SOURCE_GUARD 00043