Electroneum
http_client_base.h
Go to the documentation of this file.
1 // Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above copyright
9 // notice, this list of conditions and the following disclaimer in the
10 // documentation and/or other materials provided with the distribution.
11 // * Neither the name of the Andrey N. Sabelnikov nor the
12 // names of its contributors may be used to endorse or promote products
13 // derived from this software without specific prior written permission.
14 //
15 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
19 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #pragma once
28 
29 #undef ELECTRONEUM_DEFAULT_LOG_CATEGORY
30 #define ELECTRONEUM_DEFAULT_LOG_CATEGORY "net.http"
31 
32 namespace epee
33 {
34  namespace net_utils
35  {
37  {
38  virtual ~i_sub_handler(){}
39 
40  virtual bool update_in( std::string& piece_of_transfer)=0;
41  virtual void stop(std::string& collect_remains)=0;
42  virtual bool update_and_stop(std::string& collect_remains, bool& is_changed)
43  {
44  is_changed = true;
45  bool res = this->update_in(collect_remains);
46  if(res)
47  this->stop(collect_remains);
48  return res;
49  }
50  };
51 
52 
54  {
55  virtual ~i_target_handler(){}
56  virtual bool handle_target_data( std::string& piece_of_transfer)=0;
57  };
58 
59 
61  {
62  public:
64  {}
65  virtual bool update_in( std::string& piece_of_transfer)
66  {
67  return m_powner_filter->handle_target_data(piece_of_transfer);
68  }
69  virtual void stop(std::string& collect_remains)
70  {
71 
72  }
74  };
75  }
76 }
const char * res
Definition: hmac_keccak.cpp:41
virtual bool update_in(std::string &piece_of_transfer)
::std::string string
Definition: gtest-port.h:1097
do_nothing_sub_handler(i_target_handler *powner_filter)
virtual bool handle_target_data(std::string &piece_of_transfer)=0
virtual void stop(std::string &collect_remains)
virtual bool update_and_stop(std::string &collect_remains, bool &is_changed)
virtual void stop(std::string &collect_remains)=0
virtual bool update_in(std::string &piece_of_transfer)=0