28 servlet(servlet_list *whereToAdd);
33 virtual int AddToSelectSet(fd_set &rd_set, fd_set &wr_set, fd_set &er_set) = 0;
34 virtual void ProcessSelectResult(fd_set &rd_set, fd_set &wr_set, fd_set &er_set) = 0;
35 friend class servlet_list;
47 void add(servlet *ps);
48 void remove(servlet *ps);
49 void run_once_through_select_loop(
int max_timeout_ticks);
80const int HEADER_BUFFER_SIZE=256;
82class WebClientServlet:
public servlet,
public TimeOutElement
86 virtual int AddToSelectSet(fd_set &rd_set, fd_set &wr_set, fd_set &er_set);
87 virtual void ProcessSelectResult(fd_set &rd_set, fd_set &wr_set, fd_set &er_set);
89 virtual void TimeElementEvent();
92 eWebClientState_t m_cur_state;
93 eWebResponse_t m_resp_state;
95 buffer_object * pDestinationBuffer;
102 char HeaderBuffer[HEADER_BUFFER_SIZE];
106 uint32_t m_ResultCode;
113 servlet_list * m_pWhoToReJoin;
118virtual bool ResponseReader(
int fd);
120virtual void StartQuery();
124virtual void ActionComplete(eWebClientAction_t action);
127 const char* ActionText(eWebClientAction_t action);
134void CoreStart(
const char* pUrl,buffer_object * result_buffer, uint32_t timeout);
139WebClientServlet(servlet_list * List_To_Join=0);
141uint32_t GetResultCode(){
return m_ResultCode; };
143void NewGet(
const char* pUrl,buffer_object * result_buffer, uint32_t timeout=0,
const char* additional_header=0);
144void NewPost(
const char * pUrl,
const char* pType,
NBString & payload,buffer_object * result_buffer, uint32_t timeout=0,
const char* additional_header=0);
145void NewPost(
const char * pUrl,
const char* pType,
const char* payload,buffer_object * result_buffer, uint32_t timeout=0,
const char* additional_header=0);
Lightweight alternative to C++ CString class.
Definition nbstring.h:118
Parsed Uniform Resource Identifier Class (URI)
Definition http_funcs.h:62
TickTimeout objects are used to facilitate sequential function calls with timeout parameters that nee...
Definition nbrtos.h:157
NetBurner Domain Name Server Header File.
NetBurner I/O System Library API.
NetBurner Real-Time Operating System (NBRTOS) API.
An OS_CRIT object is used to establish critical sections of code that can only be run by one task at ...
Definition nbrtos.h:1084
Semaphores are used to control access to shared resources or or to communicate between tasks in a mul...
Definition nbrtos.h:386