// Copyright 2013 Google Inc. All Rights Reserved. #ifndef CDM_TEST_HTTP_SOCKET_H_ #define CDM_TEST_HTTP_SOCKET_H_ #include #include "wv_cdm_types.h" namespace wvcdm { // Provides basic Linux based TCP socket interface. class HttpSocket { public: HttpSocket(); ~HttpSocket(); void CloseSocket(); bool Connect(const char* url, const std::string& port, bool enable_timeout); void GetDomainNameAndPathFromUrl(const std::string& url, std::string& domain_name, std::string& resource_path); const std::string& domain_name() const { return domain_name_; }; const std::string& resource_path() const { return resource_path_; }; int Read(char* data, int len); int Read(char* data, int len, int timeout_in_ms); int Write(const char* data, int len); private: std::string domain_name_; std::string resource_path_; int socket_fd_; bool timeout_enabled_; CORE_DISALLOW_COPY_AND_ASSIGN(HttpSocket); }; }; // namespace wvcdm #endif // CDM_TEST_HTTP_SOCKET_H_