- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / tests / test_tcp_socket.h
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef PAPPI_TESTS_TEST_TCP_SOCKET_H_
6 #define PAPPI_TESTS_TEST_TCP_SOCKET_H_
7
8 #include <string>
9
10 #include "ppapi/c/pp_stdint.h"
11 #include "ppapi/c/ppb_tcp_socket.h"
12 #include "ppapi/cpp/net_address.h"
13 #include "ppapi/tests/test_case.h"
14
15 namespace pp {
16 class TCPSocket;
17 }
18
19 class TestTCPSocket: public TestCase {
20  public:
21   explicit TestTCPSocket(TestingInstance* instance);
22
23   // TestCase implementation.
24   virtual bool Init();
25   virtual void RunTests(const std::string& filter);
26
27  private:
28   std::string TestConnect();
29   std::string TestReadWrite();
30   std::string TestSetOption();
31   std::string TestListen();
32   std::string TestBacklog();
33   std::string TestInterface_1_0();
34
35   std::string ReadFirstLineFromSocket(pp::TCPSocket* socket, std::string* s);
36   std::string ReadFirstLineFromSocket_1_0(PP_Resource socket,
37                                           std::string* s);
38   std::string ReadFromSocket(pp::TCPSocket* socket,
39                              char* buffer,
40                              size_t num_bytes);
41   std::string WriteToSocket(pp::TCPSocket* socket, const std::string& s);
42   std::string WriteToSocket_1_0(PP_Resource socket, const std::string& s);
43
44   std::string GetAddressToBind(pp::NetAddress* address);
45   std::string StartListen(pp::TCPSocket* socket, int32_t backlog);
46
47   pp::NetAddress addr_;
48
49   const PPB_TCPSocket_1_0* socket_interface_1_0_;
50 };
51
52 #endif  // PAPPI_TESTS_TEST_TCP_SOCKET_H_