![]() |
User Manual, Developers Guide and API Documentation |
![]() |
00001 /****************************************************************************** 00002 * Glue * 00003 * __________________________________________________________________________ * 00004 * * 00005 * Copyright (C) 2005-2006 * 00006 * Lehrstuhl fuer Kommunikationsnetze (ComNets) * 00007 * Kopernikusstr. 16, D-52074 Aachen, Germany * 00008 * phone: ++49-241-80-27910 (phone), fax: ++49-241-80-22242 * 00009 * email: wns@comnets.rwth-aachen.de * 00010 * www: http://wns.comnets.rwth-aachen.de * 00011 ******************************************************************************/ 00012 00013 #ifndef GLUE_KEYBUILDER_HPP 00014 #define GLUE_KEYBUILDER_HPP 00015 00016 #include <WNS/ldk/Key.hpp> 00017 #include <WNS/service/dll/Address.hpp> 00018 00019 #include <WNS/logger/Logger.hpp> 00020 #include <WNS/pyconfig/View.hpp> 00021 00022 namespace glue { namespace convergence { 00023 class UnicastUpper; 00024 } // convergence 00025 } // glue 00026 00027 namespace glue { 00028 00029 class Key 00030 : public wns::ldk::Key 00031 { 00032 public: 00033 typedef wns::service::dll::UnicastAddress Address; 00034 00035 Key(const Address& address1, 00036 const Address& address2); 00037 00038 virtual 00039 ~Key() 00040 {} 00041 00042 virtual bool 00043 operator<(const wns::ldk::Key& other) const; 00044 00045 virtual std::string 00046 str() const; 00047 00048 private: 00049 Address address1_; 00050 Address address2_; 00051 }; 00052 00053 class KeyBuilder 00054 : public wns::ldk::KeyBuilder 00055 { 00056 public: 00057 00058 KeyBuilder(const wns::ldk::fun::FUN* fun, 00059 const wns::pyconfig::View& config); 00060 00061 virtual 00062 ~KeyBuilder() 00063 {} 00064 00065 virtual void 00066 onFUNCreated(); 00067 00068 virtual wns::ldk::ConstKeyPtr 00069 operator () (const wns::ldk::CompoundPtr& compound, int direction) const; 00070 00071 private: 00072 const wns::ldk::fun::FUN* fun_; 00073 wns::pyconfig::View config_; 00074 struct Friends { 00075 glue::convergence::UnicastUpper *unicastUpper; 00076 } friends_; 00077 }; 00078 00079 } // glue 00080 00081 #endif // NOT defined GLUE_KEYBUILDER_HPP 00082 00083
1.5.5