User Manual, Developers Guide and API Documentation

KeyBuilder.hpp

Go to the documentation of this file.
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 

Generated on Thu May 24 03:31:57 2012 for openWNS by  doxygen 1.5.5