00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef WIFI_STATS_SSID_STATS_HH_
00023 # define WIFI_STATS_SSID_STATS_HH_
00024
00025 # include <string>
00026 # include <map>
00027
00028 # include <wipal/wifi/stats/module.hh>
00029
00030 namespace wpl
00031 {
00032
00033 namespace wifi
00034 {
00035
00036 namespace stats
00037 {
00038
00039 struct ssid_stats: public module
00040 {
00041 ssid_stats(const void* other_modules = 0);
00042
00043 template <class Frame>
00044 void
00045 account_beacon(const Frame& frame,
00046 const addr* const& ap,
00047 const addr* const& bss,
00048 const optional_string& ssid,
00049 const bool& ibss);
00050
00051 std::ostream& print(std::ostream&) const;
00052
00053 private:
00054 typedef std::map<std::string, unsigned> freq_type;
00055
00056 freq_type freqs_;
00057 unsigned total_;
00058 };
00059
00060 }
00061
00062 }
00063
00064 }
00065
00066 # include "ssid_stats.hxx"
00067
00068 #endif // ! WIFI_STATS_SSID_STATS_HH_