⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sipb_paramlist.cpp

📁 sip torture test tools
💻 CPP
字号:
//sipb_paramlist.cpp//Copyright (C) 2003 Metalink LTD//Author: Rodionov Sergey (seger@metalinkltd.com)//This program is distributed under terms of GPL (see LICENSE)#include "sipb_paramlist.h"#include <stdexcept>sipb_param::sipb_param(){   is_int=false;   is_global=false;}//                                                                            void sipb_param::set(string name_,bool is_global_,string rez_){   name     =name_;   rez      =rez_;   is_global=is_global_;   is_int=false;}//                                                                            void sipb_param::set_int(string name_,bool is_global_,int min_,int max_,			 string rez_){   name     =name_;   rez      =rez_;   is_global=is_global_;   is_int   =true;   int_min  =min_;   int_max  =max_;}//                                                                            void sipb_param::set_voriants(string name_,bool is_global_,			      const vector<string>& vor){   name=name_;   is_global=is_global_;   is_int=false;   voriants=vor;   if (vor.size()==0)     throw logic_error("Error in sipb_param::set_voriant");   rez=voriants[0];}//                                                                            QValidator* sipb_param::create_val(QObject* parent){   if (!is_int || voriants.size()==0)     return NULL;   return new QIntValidator(int_min,int_max,parent);}//                                                                            void sipb_paramlist::add_wanted(string name,bool global,string def_rez){   if (check_name(name))     qFatal("Duplicate in sipb_paramlist::add_wanted");   ps.push_back(sipb_param());   ps.back().set(name,global,def_rez);}//                                                                            void sipb_paramlist::add_wanted_int(string name,bool global,int min,int max,				     string def_rez){   if (check_name(name))     qFatal("Duplicate in sipb_paramlist::add_wanted_int");   ps.push_back(sipb_param());   ps.back().set_int(name,global,min,max,def_rez);}//                                                                            void sipb_paramlist::add_wanted_voriants(string name,bool global,					 const vector<string>&vor){   if (check_name(name))     qFatal("Duplicate in sipb_paramlist::add_wanted_int");   ps.push_back(sipb_param());   ps.back().set_voriants(name,global,vor);}//                                                                            string sipb_paramlist::get(string name){   for (int i=0;i<size();i++)     if (get_name(i)==name)       return get_rez(i);   qFatal("Error in sipb_paramlist::get name=%s",name.c_str());   return "";}//                                                                            int sipb_paramlist::get_int(string name){   string tmp=get(name);   return atoi(tmp.c_str());}//                                                                            bool sipb_paramlist::check_name(string name){   for (int i=0;i<size();i++)     if (get_name(i)==name)       return true;   return false;}//                                                                            void sipb_paramlist::copy_new_toglobal(sipb_paramlist& glo){   for (int i=0 ; i<size() ; i++)     if (get_is_global(i) && !glo.check_name(get_name(i)))       glo.ps.push_back(ps.at(i));}//                                                                            void sipb_paramlist::set_fromglobal(sipb_paramlist&glo){   for (int i=0;i<size();i++)     if (get_is_global(i))       set_rez(i,glo.get( get_name(i) ));  //if not fount error!!!}//                                                                            void sipb_paramlist::set_rez(int p,string rez_str){   if (ps.at(p).voriants.size()!=0)     {	bool def=false;	for (unsigned int i=0;i<ps[p].voriants.size();i++)	  if (ps[p].voriants[i]==rez_str)	    def=true;	if (!def)	  qFatal("Error in sipb_paramlist::set_rez not find voriant");     }   ps.at(p).rez=rez_str;}//                                                                            void sipb_paramlist::set_rez(string name,string rez_str){   for (int i=0 ; i<size() ; i++)     if (get_name(i) == name)       {	  set_rez(i,rez_str);	  return;       }   qFatal("Error in sipb_paramlist::set_rez");}//                                                                            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -