Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AT_ControlPlane_netif.h Source File

AT_ControlPlane_netif.h

00001 #include "ControlPlane_netif.h"
00002 #include "ATHandler.h"
00003 
00004 namespace mbed {
00005 
00006 class AT_ControlPlane_netif: public ControlPlane_netif {
00007 public:
00008     AT_ControlPlane_netif(ATHandler &at, int cid);
00009     virtual ~AT_ControlPlane_netif();
00010 
00011 protected:
00012 
00013 // ControlPlane_netif
00014 
00015     /* Sends data using +CSODCP specified in
00016      *  3GPP 27007 10.1.43: Sending of originating data via the control plane
00017      */
00018     virtual nsapi_size_or_error_t send(const void *cpdata, nsapi_size_t cpdata_length);
00019 
00020 
00021     /* Receives data using +CRTDCP specified in
00022      *  3GPP 27007 10.1.44: Reporting of terminating data via the control plane
00023      */
00024     virtual nsapi_size_or_error_t recv(void *cpdata, nsapi_size_t cpdata_length);
00025 
00026     virtual void data_received();
00027     virtual void attach(void (*callback)(void *), void *data);
00028 
00029     // Id of the PDP context that enables the control plane data connection
00030     int _cid;
00031 
00032 private:
00033     void (*_cb)(void *);
00034     void *_data;
00035     char _recv_buffer[MBED_CONF_CELLULAR_MAX_CP_DATA_RECV_LEN];
00036     size_t _recv_len;
00037     // Called on receiving URC: +CRTDCP
00038     void urc_cp_recv();
00039 
00040 protected:
00041     ATHandler &_at;
00042 };
00043 
00044 } //mbed namespace