Host library for controlling a WiConnect enabled Wi-Fi module.
Dependents: wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more
SocketInterface.h
- Committer:
- dan_ackme
- Date:
- 2014-08-11
- Revision:
- 6:8a87a59d0d21
- Parent:
- 1:6ec9998427ad
- Child:
- 11:ea484e1b7fc4
File content as of revision 6:8a87a59d0d21:
/* * Copyright 2014, ACKme Networks * All Rights Reserved. * * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks; * the contents of this file may not be disclosed to third parties, copied * or duplicated in any form, in whole or in part, without the prior * written permission of ACKme Networks. */ #pragma once #include "Wiconnect.h" #include "types/Socket.h" #include "types/SocketIrqHandlerMap.h" namespace wiconnect { #define SOCKET_ANY_PORT (uint16_t)0 class SocketInterface { public: WiconnectResult closeAllSockets(); WiconnectResult registerSocketIrqHandler(Pin irqPin, const Callback &handler); WiconnectResult unregisterSocketIrqHandler(Pin irqPin); WiconnectResult connect(Socket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, Pin irqPin); WiconnectResult tcpConnect(Socket &socket, const char *host, uint16_t remortPort, Pin irqPin = NC); WiconnectResult tlsConnect(Socket &socket, const char *host, uint16_t remortPort, const char *certFilename = NULL, Pin irqPin = NC); WiconnectResult udpConnect(Socket &socket, const char *host, uint16_t remortPort, uint16_t localPort = SOCKET_ANY_PORT, Pin irqPin = NC); WiconnectResult httpConnect(Socket &socket, const char *url, const HttpSocketArgs *args); WiconnectResult httpGet(Socket &socket, const char *url, bool openOnly = false, const char *certFilename = NULL); WiconnectResult httpPost(Socket &socket, const char *url, const char *contextType, bool openOnly = true, const char *certFilename = NULL); WiconnectResult httpHead(Socket &socket, const char *url, const char *certFilename = NULL); WiconnectResult httpAddHeader(Socket &socket, const char *key, const char *value); WiconnectResult httpGetStatus(Socket &socket, uint32_t *statusCodePtr); protected: SocketInterface(Wiconnect *wiconnect); SocketIrqHandlerMap irqHandlers; private: Wiconnect *wiconnect; }; }