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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gsm_me_ta.h

?? Gsm手機(jī)(短信息,電話簿)開發(fā)庫C++源代碼
?? H
字號(hào):
// *************************************************************************
// * GSM TA/ME library
// *
// * File:    gsm_me_ta.h
// *
// * Purpose: Mobile Equipment/Terminal Adapter and SMS functions
// *          (ETSI GSM 07.07 and 07.05)
// *
// * Author:  Peter Hofmann (software@pxh.de)
// *
// * Created: 3.5.1999
// *************************************************************************

#ifndef GSM_ME_TA_H
#define GSM_ME_TA_H

#include <gsmlib/gsm_error.h>
#include <gsmlib/gsm_event.h>
#include <gsmlib/gsm_phonebook.h>
#include <gsmlib/gsm_sms_store.h>
#include <gsmlib/gsm_util.h>
#include <gsmlib/gsm_at.h>
#include <gsmlib/gsm_sms.h>
#include <string>
#include <vector>

using namespace std;

namespace gsmlib
{
  // *** phone capability description (you could also call it phone quirks)

  struct Capabilities
  {
    bool _hasSMSSCAprefix;      // SMS have service centre address prefix
    int _cpmsParamCount;        // number of SMS store parameters to
                                // CPMS command
    bool _omitsColon;           // omits trailing ':' in AT responses
    bool _veryShortCOPSanswer;  // Falcom A2-1
    bool _wrongSMSStatusCode;   // Motorola Timeport 260
    Capabilities();             // constructor, set default behaviours
  };
  
  // *** auxiliary structs

  // Static ME information (AT command sequences given in brackets)
  struct MEInfo
  {
    string _manufacturer;       // (+CGMI)
    string _model;              // (+CGMM)
    string _revision;           // (+CGMR)
    string _serialNumber;       // (+CGSN), IMEI
  };

  // modes for network operation selection
  enum OPModes {AutomaticOPMode = 0, ManualOPMode = 1,
                DeregisterOPMode = 2, ManualAutomaticOPMode = 4};

  // status codes or network operaton selection
  enum OPStatus {UnknownOPStatus = 0, AvailableOPStatus = 1,
                 CurrentOPStatus = 2, ForbiddenOPStatus = 3};

  // network operator info
  struct OPInfo
  {
    OPModes _mode;
    OPStatus _status;
    string _longName;
    string _shortName;
    int _numericName;           // may be NOT_SET

    OPInfo() : _status(UnknownOPStatus), _numericName(NOT_SET) {}
  };

  // facility classes
  enum FacilityClass {VoiceFacility = 1, DataFacility = 2, FaxFacility = 4};
  const int ALL_FACILITIES = VoiceFacility | DataFacility | FaxFacility;

  // struct to hold password info
  struct PWInfo
  {
    string _facility;
    int _maxPasswdLen;
  };

  // call forward reasons
  // AllReasons encompasses 0..3
  // AllConditionalReasons encompasses 1..3
  enum ForwardReason {UnconditionalReason = 0, MobileBusyReason = 1,
                      NoReplyReason = 2, NotReachableReason = 3,
                      AllReasons = 4, AllConditionalReasons = 5, NoReason = 6};

  // call forward modes
  enum ForwardMode {DisableMode = 0, EnableMode = 1,
                    RegistrationMode = 3, ErasureMode = 4};

  // call forward info
  struct ForwardInfo
  {
    bool _active;               // status in the network
    FacilityClass _cl;          // voice, fax, or data
    string _number;             // telephone number
    string _subAddr;            // subaddress
    int _time;                  // time in the range 1..30 (for NoReplyReason)
    ForwardReason _reason;      // reason for the forwarding
  };

  // SMS types
  typedef Ref<SMSStore> SMSStoreRef;
  typedef vector<SMSStoreRef> SMSStoreVector;

  // this class allows access to all functions of a ME/TA as described
  // in sections 5-8 of ETSI GSM 07.07
  // Note: If the ME is changed (ie. disconnected an another one connected
  // to the TA), a new ME object must be created
  // (Mobile equipment = ME, terminal adapter = TA)
  class MeTa : public RefBase
  {
  private:
    Ref<Port> _port;            // port the ME/TA is connected to
    Ref<GsmAt> _at;             // chat object for the port
    PhonebookVector _phonebookCache; // cache of all used phonebooks
    SMSStoreVector _smsStoreCache; // cache of all used phonebooks
    string _lastPhonebookName;  // remember last phonebook set on ME/TA
    string _lastSMSStoreName;   // remember last SMS store set on ME/TA
    Capabilities _capabilities; // ME/TA quirks
    GsmEvent _defaultEventHandler; // default event handler
                                // see comments in MeTa::init()
    string _lastCharSet;        // remember last character set

    // init ME/TA to sensible defaults
    void init() throw(GsmException);

  public:
    // initialize a new MeTa object given the port
    MeTa(Ref<Port> port) throw(GsmException);

    // initialize a new MeTa object given the AT handler
    //MeTa(Ref<GsmAt> at) throw(GsmException);

    // set the current phonebook in the ME
    // remember the last phonebook set for optimisation
    void setPhonebook(string phonebookName) throw(GsmException);

    // set the current SMS store in the ME
    // set storeTypes to
    //   1 to set store for reading and deleting
    //   2 to set store for writing and sending (includes type 1)
    //   3 to preferred store for receiving SMS (includes types 1 and 2)
    // remember the last SMS store set for optimisation
    // if needResultCode is set this optimisation is not done
    string setSMSStore(string smsStore, int storeTypes,
                       bool needResultCode = false)
      throw(GsmException);

    // get capabilities of this ME/TA
    Capabilities getCapabilities() const {return _capabilities;}

    // return my port
    Ref<Port> getPort() {return _port;}

    // return my at handler
    Ref<GsmAt> getAt() {return _at;}

    // set event handler for unsolicited result codes
    GsmEvent *setEventHandler(GsmEvent *newHandler)
      {return _at->setEventHandler(newHandler);}

    // wait for an event
    void waitEvent(GsmTime timeout) throw(GsmException);

    // *** ETSI GSM 07.07 Section 5: "General Commands"

    // return ME information
    MEInfo getMEInfo() throw(GsmException);

    // return available character sets
    vector<string> getSupportedCharSets() throw(GsmException);// (+CSCS=?)
    
    // return current character set (default: GSM)
    string getCurrentCharSet() throw(GsmException);// (+CSCS?)

    // set character set to use
    void setCharSet(string charSetName) throw(GsmException);// (+CSCS=)
    
    // *** ETSI GSM 07.07 Section 6: "Call control commands and methods"
    
    // get extended error report
    string getExtendedErrorReport() throw(GsmException);// (+CEER)

    // dial a number, CLI presentation as defined in network
    void dial(string number) throw(GsmException);// (ATD)


    // *** ETSI GSM 07.07 Section 7: "Network service related commands"
    
    // return available network operators
    // this fills in all fields of OPInfo with the exception of _mode
    vector<OPInfo> getAvailableOPInfo() throw(GsmException); // (+COPS=?)

    // return current network operators
    // this fills in all the fields of OPInfo with the exception of _status
    OPInfo getCurrentOPInfo() throw(GsmException);

    // set network operator
    // caller must fill in ALL names it has read from previous calls
    // of getCurrentOPInfo() or getAvailableOPInfo()
    // (because ME/TA might not implement all names)
    void setCurrentOPInfo(OPModes mode,
                          string longName = "",
                          string shortName = "",
                          int numericName = NOT_SET) throw(GsmException);

    // get facility lock capabilities (+CLCK)
    vector<string> getFacilityLockCapabilities() throw(GsmException);

    // query facility lock status for named facility
    bool getFacilityLockStatus(string facility, FacilityClass cl)
      throw(GsmException);

    // lock facility
    void lockFacility(string facility, FacilityClass cl, string passwd = "")
      throw(GsmException);

    // unlock facility
    void unlockFacility(string facility, FacilityClass cl, string passwd = "")
      throw(GsmException);

    // return names of facility for which a password can be set
    // and the maximum length of the respective password
    vector<PWInfo> getPasswords() throw(GsmException);// (+CPWD=?)

    // set password for the given facility
    void setPassword(string facility, string oldPasswd, string newPasswd)
      throw(GsmException);
    // (+CPWD=)

    // get CLIP (caller line identification presentation) in the network
    bool getNetworkCLIP() throw(GsmException);// (+CLIP?)

    // set CLIP presentation on or off
    // enables GsmEvent::callerLineID
    void setCLIPPresentation(bool enable) throw(GsmException);// (+CLIP=)

    // returns if the above is enable
    bool getCLIPPresentation() throw(GsmException);// (+CLIP?)

    // set call forwarding
    void setCallForwarding(ForwardReason reason,
                           ForwardMode mode,
                           string number,
                           string subaddr,
                           FacilityClass cl = (FacilityClass)ALL_FACILITIES,
                           int forwardTime = NOT_SET)
      throw(GsmException); // (+CCFC=)

    // get Information of currently set CF in the network
    // the caller must give the reason to query
    void getCallForwardInfo(ForwardReason reason,
                            ForwardInfo &voice,
                            ForwardInfo &fax,
                            ForwardInfo &data)
      throw(GsmException); // (+CCFC=)


    // *** ETSI GSM 07.07 Section 8: "Mobile Equipment control
    //                                and status commands"

    // return battery charge status (+CBC):
    // 0 ME is powered by the battery
    // 1 ME has a battery connected, but is not powered by it
    // 2 ME does not have a battery connected
    // 3 Recognized power fault, calls inhibited
    int getBatteryChargeStatus() throw(GsmException);

    // return battery charge (range 0..100) (+CBC)
    int getBatteryCharge() throw(GsmException);

    // get signal strength indication (+CSQ):
    // 0 -113 dBm or less
    // 1 -111 dBm
    // 2...30 -109... -53 dBm
    // 31 -51 dBm or greater
    // 99 not known or not detectable
    int getSignalStrength() throw(GsmException);

    // get channel bit error rate (+CSQ):
    // 0...7 as RXQUAL values in the table in GSM 05.08 [20] subclause 8.2.4
    // 99 not known or not detectable
    int getBitErrorRate() throw(GsmException);

    // get available phone book memory storage strings (+CPBS=?)
    vector<string> getPhoneBookStrings() throw(GsmException);

    // get phone book given the phone book memory storage string
    PhonebookRef getPhonebook(string phonebookString,
                              bool preload = false) throw(GsmException);


    // *** ETSI GSM 07.05 SMS functions

    // return service centre address (+CSCA?)
    string getServiceCentreAddress() throw(GsmException);

    // set service centre address (+CSCA=)
    void setServiceCentreAddress(string sca) throw(GsmException);
    
    // return names of available message stores (<mem1>, +CPMS=?)
    vector<string> getSMSStoreNames() throw(GsmException);

    // return SMS store given the name
    SMSStoreRef getSMSStore(string storeName) throw(GsmException);

    // send a single SMS message
    void sendSMS(SMSMessageRef smsMessage) throw(GsmException);

    // set SMS service level
    // if set to 1 send commands return ACK PDU, 0 is the default
    void setMessageService(int serviceLevel) throw(GsmException);

    // return SMS service level
    unsigned int getMessageService() throw(GsmException);

    // return true if any of the thre message types GsmEvent::SMSMessageType
    // is routed directly to the TA and not stored in the ME
    void getSMSRoutingToTA(bool &smsRouted, // (+CNMI?)
                           bool &cbsRouted,
                           bool &statusReportsRouted) throw(GsmException);

    // sets routing of SMS to TA to true for all supported SMSMessageTypes
    // if onlyReceptionIndication is set to true
    // only GsmEvent::SMSReceptionIndication is called
    // this has two reasons: GSM 07.05 section 3.4.1 does not recommend
    // direct routing of new SMS to the TA
    // I cannot test direct routing of SMS because it does not work with
    // my hardware
    void setSMSRoutingToTA(bool enableSMS, bool enableCBS,
                           bool enableStatReport,
                           bool onlyReceptionIndication = true)
      throw(GsmException);
    // (+CNMI=)

    friend class Phonebook;
    friend class SMSStore;
  };
};

#endif // GSM_ME_TA_H

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合色综合色综合| 国产精品久久久久一区二区三区共| 在线观看日韩毛片| 欧美日韩一区在线| 日韩免费福利电影在线观看| 久久久久高清精品| 亚洲欧美经典视频| 日韩1区2区3区| 国产成人av影院| 欧美亚洲日本国产| 欧美tk—视频vk| 亚洲欧洲日韩综合一区二区| 五月综合激情婷婷六月色窝| 国产成人在线视频网站| 91黄视频在线观看| 欧美tickling挠脚心丨vk| 日韩一区中文字幕| 免费黄网站欧美| 99麻豆久久久国产精品免费| 欧美一三区三区四区免费在线看| 国产欧美一区二区精品婷婷| 亚洲高清中文字幕| 成+人+亚洲+综合天堂| 日韩欧美一二三区| 亚洲精品国产第一综合99久久| 久久精品72免费观看| 91香蕉视频污| 精品久久久久99| 天堂在线一区二区| 暴力调教一区二区三区| 日韩精品一区二区三区中文不卡| 1区2区3区欧美| 国产在线观看免费一区| 欧美日韩国产一二三| 日本一区二区三区在线不卡| 日本视频一区二区三区| 91蝌蚪国产九色| 久久亚洲私人国产精品va媚药| 午夜精品福利视频网站| 91麻豆国产自产在线观看| 欧美精品一区二区三区四区| 日韩精品欧美成人高清一区二区| 91免费版pro下载短视频| 国产午夜精品久久久久久免费视| 美国毛片一区二区| 欧美日韩国产a| 亚洲卡通欧美制服中文| 成人深夜视频在线观看| 精品国产免费人成在线观看| 蜜桃av一区二区| 欧美日韩国产色站一区二区三区| 自拍偷在线精品自拍偷无码专区| 国产精品香蕉一区二区三区| 久久这里只有精品视频网| 日韩电影免费一区| 欧美区一区二区三区| 亚洲天堂福利av| 9i在线看片成人免费| 欧美激情中文字幕| 国产成人亚洲综合色影视| 精品国产人成亚洲区| 麻豆久久久久久久| 欧美一区二区视频观看视频| 午夜精品久久一牛影视| 欧美日韩国产综合草草| 亚洲chinese男男1069| 91高清视频免费看| 一区二区三区蜜桃网| 91免费观看视频| 亚洲品质自拍视频| 91片在线免费观看| 亚洲蜜臀av乱码久久精品| 94-欧美-setu| 亚洲桃色在线一区| 色综合中文字幕国产 | 亚洲在线免费播放| 色香蕉久久蜜桃| 亚洲一区二区三区自拍| 在线精品视频免费播放| 亚洲韩国一区二区三区| 在线不卡a资源高清| 日本网站在线观看一区二区三区 | 久久99久久精品| 精品国产三级电影在线观看| 国产一区二区三区免费看| 久久影院午夜论| 国产成人免费视频一区| 欧美国产1区2区| voyeur盗摄精品| 亚洲欧美一区二区三区久本道91 | 亚洲高清视频的网址| 在线不卡中文字幕播放| 蜜桃视频在线观看一区| 精品国产电影一区二区| 国产福利一区在线| 国产精品成人一区二区三区夜夜夜 | 91最新地址在线播放| 亚洲高清免费视频| 欧美大胆一级视频| 国产精品99久久久| 国产精品久久影院| 欧美在线观看视频一区二区三区| 五月婷婷综合网| 精品久久久久香蕉网| 成人激情黄色小说| 亚洲午夜久久久久久久久电影网| 欧美一二三区精品| 风流少妇一区二区| 亚洲午夜久久久久久久久电影院| 日韩免费福利电影在线观看| 高清在线成人网| 亚洲成av人片www| 精品国产91久久久久久久妲己| 成人av资源下载| 五月天激情综合网| 国产午夜精品福利| 欧美日本韩国一区二区三区视频| 黄网站免费久久| 樱花影视一区二区| 久久综合999| 在线观看欧美精品| 精品一区二区三区影院在线午夜| 亚洲欧洲韩国日本视频| 欧美一区二区三区婷婷月色| 高清不卡在线观看| 五月天网站亚洲| 欧美国产成人精品| 欧美精品第1页| 99久久久久久| 蜜桃精品视频在线| 有坂深雪av一区二区精品| 亚洲精品一区二区三区精华液| 91天堂素人约啪| 国产在线播精品第三| 亚洲国产色一区| 日本一区二区三区电影| 911国产精品| 一本久久精品一区二区| 国产成人在线观看免费网站| 视频一区二区三区在线| 亚洲欧洲日本在线| 日韩欧美成人激情| 欧美午夜免费电影| 不卡的av电影| 国产裸体歌舞团一区二区| 五月天婷婷综合| 美女高潮久久久| 久久99久久99小草精品免视看| 国产欧美一区二区精品久导航| 欧美日本一区二区在线观看| 91亚洲国产成人精品一区二区三| 久久99国产精品尤物| 亚洲国产美女搞黄色| 中文字幕中文在线不卡住| 精品国产伦一区二区三区免费| 欧美日韩精品一区二区三区四区 | 国产精品国产三级国产a| 精品国产一区二区三区久久影院| 欧美猛男gaygay网站| 色哟哟一区二区在线观看| 成人免费观看视频| 国产一区美女在线| 久久精工是国产品牌吗| 日韩主播视频在线| 亚洲国产一区二区三区青草影视| 国产精品久久久久影院老司| 国产亚洲一二三区| 精品乱人伦一区二区三区| 3d动漫精品啪啪一区二区竹菊| 在线观看成人小视频| 色噜噜狠狠色综合欧洲selulu| 成人免费视频网站在线观看| 国产精品一级片| 国产一区二区中文字幕| 精品一区二区在线免费观看| 日韩国产精品久久久久久亚洲| 亚洲一区二区三区在线看| 怡红院av一区二区三区| 亚洲美女区一区| 亚洲综合色丁香婷婷六月图片| 亚洲视频小说图片| 1000部国产精品成人观看| **性色生活片久久毛片| 亚洲男同1069视频| 一区二区三区视频在线观看| 一区二区三区美女| 亚洲综合偷拍欧美一区色| 一区二区三区精品| 亚洲国产精品久久人人爱| 亚洲国产精品嫩草影院| 日本亚洲欧美天堂免费| 久久99久久99精品免视看婷婷| 国内精品嫩模私拍在线| 国产成a人亚洲| 99国产一区二区三精品乱码| 99精品热视频| 欧美日韩视频在线观看一区二区三区| 欧美性猛交xxxx乱大交退制版 | 亚洲18色成人| 美洲天堂一区二卡三卡四卡视频|