亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aaad_defs.h

?? AAA服務器功能實現
?? H
字號:
/* BEGIN_COPYRIGHT                                                        *//*                                                                        *//* Open Diameter: Open-source software for the Diameter and               *//*                Diameter related protocols                              *//*                                                                        *//* Copyright (C) 2002-2004 Open Diameter Project                          *//*                                                                        *//* This library is free software; you can redistribute it and/or modify   *//* it under the terms of the GNU Lesser General Public License as         *//* published by the Free Software Foundation; either version 2.1 of the   *//* License, or (at your option) any later version.                        *//*                                                                        *//* This library is distributed in the hope that it will be useful,        *//* but WITHOUT ANY WARRANTY; without even the implied warranty of         *//* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU      *//* Lesser General Public License for more details.                        *//*                                                                        *//* You should have received a copy of the GNU Lesser General Public       *//* License along with this library; if not, write to the Free Software    *//* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307    *//* USA.                                                                   *//*                                                                        *//* In addition, when you copy and redistribute some or the entire part of *//* the source code of this software with or without modification, you     *//* MUST include this copyright notice in each copy.                       *//*                                                                        *//* If you make any changes that are appeared to be useful, please send    *//* sources that include the changed part to                               *//* diameter-developers@lists.sourceforge.net so that we can reflect your  *//* changes to one unified version of this software.                       *//*                                                                        *//* END_COPYRIGHT                                                          */#ifndef __AAAD_DEFS_H__#define __AAAD_DEFS_H__#include <map>#include <list>#include <string>#include <ace/Singleton.h>#define AAAD_LOG ACE_Log_Msg::instance()->logclass AAAD_MapElement{   public:      virtual ~AAAD_MapElement() {      }      std::string &Name() {         return m_Name;      }      virtual void Dump() {      }   protected:      std::string m_Name;};class AAAD_Map{   public:      typedef std::map<std::string, AAAD_MapElement*> AAAD_ElementMap;   public:      virtual ~AAAD_Map() {         while (! m_Map.empty()) {            std::auto_ptr<AAAD_MapElement> e(m_Map.begin()->second);            m_Map.erase(m_Map.begin());          }      }      virtual bool Register(std::auto_ptr<AAAD_MapElement> e) {         AAAD_ElementMap::iterator i = m_Map.find(e->Name());         if (i == m_Map.end()) {            AAAD_MapElement *item = e.get();            m_Map.insert(std::pair<std::string, AAAD_MapElement*>                         (e->Name(), item));            e.release();            return true;         }         return false;      }      virtual AAAD_MapElement *Lookup(std::string &name) {         AAAD_ElementMap::iterator i = m_Map.find(name);         if (i != m_Map.end()) {            return i->second;         }         return NULL;      }      virtual AAAD_MapElement *Match(std::string &name) {	 AAAD_ElementMap::iterator i = m_Map.begin();         for (; i != m_Map.end(); i++) {	    AAAD_MapElement *e = i->second;            if (name.find(e->Name()) != std::string::npos) {	       return e;	    }	 }         return NULL;      }      virtual void Remove(std::string &name) {         AAAD_ElementMap::iterator i = m_Map.find(name);         if (i != m_Map.end()) {            std::auto_ptr<AAAD_MapElement> cleanup(i->second);            m_Map.erase(i);         }      }      virtual void Dump() {         AAAD_ElementMap::iterator i;         for (i = m_Map.begin(); i != m_Map.end(); i++) {             i->second->Dump();         }      }   protected:      AAAD_ElementMap m_Map;};template <class APPLICATION>class AAAD_ApplicationElement :    public AAAD_MapElement{   public:      APPLICATION &Application() {         return m_Application;      }      bool &Enabled() {         return m_bEnabled;      }      virtual void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t)    Application: %s\n",                   m_Name.data());         AAAD_LOG(LM_INFO,                   "(%P|%t)        Enabled: %s\n",                   m_bEnabled ? "true" : "false");         m_Application.Dump();      }   protected:      bool m_bEnabled;      APPLICATION m_Application;};class AAAD_AppDiamEapElement{   public:      std::string &LocalIdentity() {         return m_LocalIdentity;      }      std::string &UserDbFile() {         return m_UserDbFile;      }      void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t)    Local Ident: %s\n",                   m_LocalIdentity.data());         AAAD_LOG(LM_INFO,                   "(%P|%t)   User Db File: %s\n",                                     m_UserDbFile.data());      }   protected:      std::string m_LocalIdentity;      std::string m_UserDbFile;};////// Add more application definitions here///typedef AAAD_ApplicationElement<AAAD_AppDiamEapElement>         AAAD_AppDiamEapData;typedef AAAD_Map AAAD_ApplicationTable;class AAAD_CfgData{   public:      int &ThreadCount() {         return m_ThreadCount;      }      std::string &DiameterCfgFile() {         return m_DiameterCfgFile;      }      AAAD_ApplicationTable &ApplicationTable() {         return m_ApplicationTable;      }      void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t)--- Cfg Data ---\n");         AAAD_LOG(LM_INFO,                   "(%P|%t)     Thread Cnt: %d\n", m_ThreadCount);         AAAD_LOG(LM_INFO,                   "(%P|%t)  Diam Cfg File: %s\n",                   m_DiameterCfgFile.data());         AAAD_LOG(LM_INFO,                   "(%P|%t)--- Application Table ---\n");         m_ApplicationTable.Dump();      }   protected:      int m_ThreadCount;      std::string m_DiameterCfgFile;      AAAD_ApplicationTable m_ApplicationTable;};// Cfg databasetypedef ACE_Singleton<AAAD_CfgData,                       ACE_Recursive_Thread_Mutex>                       AAAD_CfgData_S;// Access macros for all databases#define AAAD_CFG_DATA()  (AAAD_CfgData_S::instance())#define AAAD_APP_TBL()   (AAAD_CfgData_S::instance()->ApplicationTable())#endif // __AAAD_DEFS_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一二三四区| 色综合咪咪久久| 精品国产制服丝袜高跟| 视频一区视频二区中文| 欧美福利电影网| 久久国产精品99久久久久久老狼| 日韩精品一区二区三区三区免费| 精品午夜久久福利影院| 2024国产精品| av中文一区二区三区| 亚洲乱码中文字幕| 欧美日韩一区成人| 美美哒免费高清在线观看视频一区二区| 欧美一区二区三区视频免费 | 日韩不卡一二三区| 欧美xfplay| 岛国av在线一区| 亚洲日本丝袜连裤袜办公室| 欧美日韩在线播放一区| 日韩电影在线一区| 国产亚洲婷婷免费| 91一区一区三区| 日韩高清在线电影| 国产亚洲欧美在线| 色妞www精品视频| 热久久国产精品| 日本一区二区三区四区在线视频| 99久久99久久久精品齐齐| 亚洲高清三级视频| 精品精品国产高清一毛片一天堂| 波多野结衣91| 青娱乐精品在线视频| 国产亚洲人成网站| 欧美乱妇23p| 成人国产精品免费观看视频| 亚洲成年人影院| 中文字幕精品在线不卡| 精品国产乱码久久久久久图片| 精品1区2区3区| 日韩精品成人一区二区在线| 久久久欧美精品sm网站| 国内精品久久久久影院色| 国产精品理伦片| 91精品国产高清一区二区三区| 波多野结衣91| 精品一区二区在线播放| 亚洲色图欧美在线| 精品国产一区二区三区忘忧草 | 自拍偷拍欧美精品| 日韩一区二区中文字幕| 欧洲一区在线观看| 懂色av中文一区二区三区| 日韩和欧美一区二区三区| 国产精品成人在线观看 | 久久免费美女视频| 欧美日韩亚洲综合一区二区三区| 国产福利91精品一区| 秋霞午夜av一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 欧美一区二区三区四区久久| 一本色道久久综合亚洲aⅴ蜜桃| 国产成人免费av在线| 日韩av在线播放中文字幕| 亚洲天天做日日做天天谢日日欢| 久久久天堂av| 26uuuu精品一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区欧美日| 久久综合精品国产一区二区三区| 在线不卡a资源高清| 欧美视频你懂的| 91在线丨porny丨国产| 国产成人免费xxxxxxxx| 国产精品一卡二卡在线观看| 毛片一区二区三区| 日本午夜一区二区| 日本欧美一区二区三区乱码| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲黄色片在线观看| 国产精品久久久久毛片软件| 欧美激情在线一区二区| 国产女人18毛片水真多成人如厕| 日韩欧美在线不卡| 91精品在线观看入口| 激情亚洲综合在线| 精品一区二区三区免费播放| 天天操天天干天天综合网| 一区二区三区**美女毛片| 日本一区二区三区四区| 国产亚洲欧美色| 欧美不卡一区二区三区四区| 欧美丰满少妇xxxxx高潮对白| 欧美日韩激情一区| 日本精品视频一区二区三区| 91蝌蚪porny| 91视频在线观看| 92精品国产成人观看免费| 色素色在线综合| 色综合中文字幕国产 | 亚洲免费av网站| 亚洲综合丁香婷婷六月香| 亚洲欧美激情一区二区| 日韩一区欧美一区| 亚洲色图欧美激情| 一区二区三区免费网站| 亚洲激情av在线| 亚洲国产日韩综合久久精品| 亚洲欧美一区二区三区极速播放| 亚洲自拍偷拍网站| 亚洲不卡av一区二区三区| 午夜精品成人在线视频| 日本成人中文字幕| 久久99久久精品| 国产河南妇女毛片精品久久久| 激情文学综合丁香| 97精品国产露脸对白| 欧亚一区二区三区| 欧美肥妇bbw| 久久理论电影网| 中文字幕一区视频| 亚洲一区二区三区四区的| 一二三区精品视频| 裸体在线国模精品偷拍| 国产经典欧美精品| 99re热这里只有精品视频| 欧美在线影院一区二区| 日韩一区二区在线观看视频| 久久精品免视看| 国产精品久久久久7777按摩| 亚洲精品日韩综合观看成人91| 日韩精品欧美精品| 9色porny自拍视频一区二区| 欧洲av一区二区嗯嗯嗯啊| 日韩欧美国产麻豆| 国产精品国产三级国产有无不卡 | 亚洲综合区在线| 久久精品噜噜噜成人88aⅴ| 精品一区免费av| 色综合久久九月婷婷色综合| 欧美一区午夜精品| 国产精品美女一区二区三区| 亚洲国产欧美日韩另类综合| 久久99这里只有精品| 91麻豆国产精品久久| 日韩视频免费直播| 国产精品视频免费看| 日韩精品亚洲专区| 99久久免费视频.com| 欧美伊人久久久久久久久影院 | 日本成人在线电影网| 懂色av一区二区在线播放| 欧美剧情电影在线观看完整版免费励志电影| 久久综合九色综合97婷婷女人| 久久精品欧美一区二区三区麻豆| 日韩高清不卡一区二区| 色婷婷久久综合| 日本一区二区三区四区在线视频| 日本欧美一区二区三区| 一本高清dvd不卡在线观看| 精品对白一区国产伦| 一区二区三区电影在线播| 国产盗摄一区二区| 91精品国产欧美一区二区成人| 日本一区二区三区在线观看| 国内精品第一页| 3751色影院一区二区三区| 亚洲欧美色综合| youjizz国产精品| 久久久久国产精品麻豆| 午夜影院在线观看欧美| 欧美在线观看一区二区| 日韩毛片视频在线看| 国产99久久久国产精品潘金 | 蜜臀av国产精品久久久久| 欧美这里有精品| 国产精品国产a| 91性感美女视频| 国产精品美女久久久久aⅴ| 九九**精品视频免费播放| 91精品国产一区二区三区蜜臀| 亚洲一区二区偷拍精品| 99久久99久久精品免费看蜜桃| 日韩欧美国产成人一区二区| 国产在线视视频有精品| 欧美草草影院在线视频| 另类人妖一区二区av| 91精品久久久久久久久99蜜臂| 亚洲午夜免费福利视频| 欧洲中文字幕精品| 日本aⅴ亚洲精品中文乱码| 91精品国产色综合久久ai换脸| 免费成人深夜小野草| 日韩一区二区在线观看视频| 麻豆久久久久久久| 欧美大胆人体bbbb| 日韩精品午夜视频| 欧美va亚洲va在线观看蝴蝶网| 久久电影国产免费久久电影| 精品久久久久99| 顶级嫩模精品视频在线看|