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

📄 gsm_sorted_phonebook_base.cc

📁 对各种手机进行编程的工具包源码gsmlib 1.9版本。
💻 CC
字号:
// *************************************************************************// * GSM TA/ME library// *// * File:    gsm_sorted_phonebook_base.cc// *// * Purpose: Virtual base class for alphabetically sorted phonebook// *          The infrastructure in this module allows custom backends for// *          storing phonebook entries to be integrated into gsmlib// *          (eg. LDAP- or RDBMS-based phonebook stores).// *// * Author:  Peter Hofmann (software@pxh.de)// *// * Created: 5.6.2000// *************************************************************************#ifdef HAVE_CONFIG_H#include <gsm_config.h>#endif#include <gsmlib/gsm_sorted_phonebook_base.h>#include <gsmlib/gsm_error.h>#include <gsmlib/gsm_util.h>#include <gsmlib/gsm_nls.h>#include <assert.h>using namespace std;using namespace gsmlib;// PhonebookEntryBase membersvoid PhonebookEntryBase::set(string telephone, string text, int index,                             bool useIndex)  throw(GsmException){  checkTextAndTelephone(text, telephone);  _changed = true;  _telephone = telephone;  _text = text;  _useIndex = useIndex;  if (index != -1)    _index = index;}bool PhonebookEntryBase::operator==(const PhonebookEntryBase &e) const{  assert(! ((_useIndex || e._useIndex) &&            (_index == -1 || e._index == -1)));  return _telephone == e._telephone && _text == e._text &&    (! (_useIndex || e._useIndex) || _index == e._index);}string PhonebookEntryBase::text() const throw(GsmException){  return _text;}string PhonebookEntryBase::telephone() const throw(GsmException){  return _telephone;}bool PhonebookEntryBase::empty() const throw(GsmException){  return (text() == "") && (telephone() == "");}Ref<PhonebookEntryBase> PhonebookEntryBase::clone(){  Ref<PhonebookEntryBase> result = new PhonebookEntryBase(*this);  return result;}PhonebookEntryBase::PhonebookEntryBase(const PhonebookEntryBase &e)  throw(GsmException){  set(e._telephone, e._text, e._index, e._useIndex);}PhonebookEntryBase &PhonebookEntryBase::operator=(const PhonebookEntryBase &e)  throw(GsmException){  set(e._telephone, e._text, e._index, e._useIndex);  return *this;}// CustomPhonebookRegistry membersmap<string, CustomPhonebookFactory*>*CustomPhonebookRegistry::_factoryList = NULL;void CustomPhonebookRegistry::registerCustomPhonebookFactory(string backendName,                               CustomPhonebookFactory *factory)  throw(GsmException){  if (_factoryList == NULL)    _factoryList = new map<string, CustomPhonebookFactory*>;  backendName = lowercase(backendName);  if (_factoryList->find(backendName) != _factoryList->end())    throw GsmException(stringPrintf(_("backend '%s' already registered"),                                    backendName.c_str()), ParameterError);}      SortedPhonebookRef CustomPhonebookRegistry::createPhonebook(string backendName, string source) throw(GsmException){  if (_factoryList == NULL)    _factoryList = new map<string, CustomPhonebookFactory*>;  backendName = lowercase(backendName);  if (_factoryList->find(backendName) == _factoryList->end())    throw GsmException(stringPrintf(_("backend '%s' not registered"),                                    backendName.c_str()), ParameterError);  return (*_factoryList)[backendName]->createPhonebook(source);}

⌨️ 快捷键说明

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