diff options
Diffstat (limited to 'libraries/GSM/GSM3ShieldV1MultiClientProvider.h')
-rw-r--r-- | libraries/GSM/GSM3ShieldV1MultiClientProvider.h | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/libraries/GSM/GSM3ShieldV1MultiClientProvider.h b/libraries/GSM/GSM3ShieldV1MultiClientProvider.h deleted file mode 100644 index 565a4fc..0000000 --- a/libraries/GSM/GSM3ShieldV1MultiClientProvider.h +++ /dev/null @@ -1,202 +0,0 @@ -/* -This file is part of the GSM3 communications library for Arduino --- Multi-transport communications platform --- Fully asynchronous --- Includes code for the Arduino-Telefonica GSM/GPRS Shield V1 --- Voice calls --- SMS --- TCP/IP connections --- HTTP basic clients - -This library has been developed by Telefónica Digital - PDI - -- Physical Internet Lab, as part as its collaboration with -Arduino and the Open Hardware Community. - -September-December 2012 - -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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -The latest version of this library can always be found at -https://github.com/BlueVia/Official-Arduino -*/ -#ifndef __GSM3_SHIELDV1CLIENTPROVIDER__ -#define __GSM3_SHIELDV1CLIENTPROVIDER__ - -#include <GSM3MobileClientProvider.h> -#include <GSM3ShieldV1BaseProvider.h> - -class GSM3ShieldV1MultiClientProvider : public GSM3MobileClientProvider, public GSM3ShieldV1BaseProvider -{ - private: - - int remotePort; // Current operation remote port - int idSocket; // Remote ID socket - IPAddress remoteIP; // Remote IP address - - uint16_t sockets; - - /** Continue to connect TCP client function - */ - void connectTCPClientContinue(); - - /** Continue to disconnect TCP client function - */ - void disconnectTCPContinue(); - - /** Continue to begin socket for write function - */ - void beginWriteSocketContinue(); - - /** Continue to end write socket function - */ - void endWriteSocketContinue(); - - /** Continue to available socket function - */ - void availableSocketContinue(); - - /** Continue to flush socket function - */ - void flushSocketContinue(); - - // GATHER! - bool flagReadingSocket; //In case socket data being read, update fullBufferSocket in the next buffer. - bool fullBufferSocket; //To detect if the socket data being read needs another buffer. - bool client1_server0; //1 Client, 0 Server. - - /** Parse QIRD response - @param rsp Returns true if expected response exists - @return true if command executed correctly - */ - bool parseQIRD_head(bool& rsp); - - public: - - /** Constructor */ - GSM3ShieldV1MultiClientProvider(); - - /** Minimum socket - @return 0 - */ - int minSocket(){return 0;}; - - /** Maximum socket - @return 5 - */ - int maxSocket(){return 5;}; - - /** Connect to a remote TCP server - @param server String with IP or server name - @param port Remote port number - @param id_socket Local socket number - @return 0 if command running, 1 if success, otherwise error - */ - int connectTCPClient(const char* server, int port, int id_socket); - - /** Connect to a remote TCP server - @param add Remote IP address - @param port Remote port number - @param id_socket Local socket number - @return 0 if command running, 1 if success, otherwise error - */ - int connectTCPClient(IPAddress add, int port, int id_socket); - - /** Begin writing through a socket - @param client1Server0 1 if modem acts as client, 0 if acts as server - @param id_socket Local socket number - @return 0 if command running, 1 if success, otherwise error - */ - void beginWriteSocket(bool client1Server0, int id_socket); - - /** Write through a socket. MUST go after beginWriteSocket() - @param buf characters to be written (final 0 will not be written) - */ - void writeSocket(const char* buf); - - /** Write through a socket. MUST go after beginWriteSocket() - @param c character to be written - */ - void writeSocket(char c); - - /** Finish current writing - */ - void endWriteSocket(); - - /** Check if there are data to be read in socket. - @param client1Server0 1 if modem acts as client, 0 if acts as server - @param id_socket Local socket number - @return 0 if command running, 1 if there are data available, 4 if no data, otherwise error - */ - int availableSocket(bool client, int id_socket); // With "available" and "readSocket" ask the modem for 1500 bytes. - - /** Read a character from socket - @return socket - */ - int readSocket(); //If Read() gets to the end of the QIRD response, execute again QIRD SYNCHRONOUSLY - - /** Flush socket - */ - void flushSocket(); - - /** Get a character but will not advance the buffer head - @return character - */ - int peekSocket(); - - /** Close a socket - @param client1Server0 1 if modem acts as client, 0 if acts as server - @param id_socket Local socket number - @return 0 if command running, 1 if success, otherwise error - */ - int disconnectTCP(bool client1Server0, int id_socket); - - /** Recognize unsolicited event - @param from - @return true if successful - */ - bool recognizeUnsolicitedEvent(byte from); - - /** Manages modem response - @param from Initial byte of buffer - @param to Final byte of buffer - */ - void manageResponse(byte from, byte to); - - /** Get last command status - @return returns 0 if last command is still executing, 1 success, >1 error - */ - int ready(){return GSM3ShieldV1BaseProvider::ready();}; - - /** Get client socket - @param socket - @return socket - */ - int getSocket(int socket=-1); - - /** Release socket - @param socket Socket for release - */ - void releaseSocket(int socket); - - /** Get socket client status - @param socket Socket - @return socket client status - */ - bool getStatusSocketClient(uint8_t socket); - -}; - - -#endif
\ No newline at end of file |