1 /* 2 * Copyright 2014 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _B_NET_REQUEST_H_ 6 #define _B_NET_REQUEST_H_ 7 8 9 #include <NetBuffer.h> 10 #include <NetworkAddress.h> 11 #include <UrlRequest.h> 12 13 14 class BAbstractSocket; 15 16 17 namespace BPrivate { 18 19 namespace Network { 20 21 22 class BNetworkRequest: public BUrlRequest 23 { 24 public: 25 BNetworkRequest(const BUrl& url, 26 BDataIO* output, 27 BUrlProtocolListener* listener, 28 BUrlContext* context, 29 const char* threadName, 30 const char* protocolName); 31 32 virtual status_t Stop(); 33 virtual void SetTimeout(bigtime_t timeout); 34 35 protected: 36 bool _ResolveHostName(BString host, uint16_t port); 37 38 void _ProtocolSetup(); 39 status_t _GetLine(BString& destString); 40 41 protected: 42 BAbstractSocket* fSocket; 43 BNetworkAddress fRemoteAddr; 44 45 BNetBuffer fInputBuffer; 46 }; 47 48 49 } // namespace Network 50 51 } // namespace BPrivate 52 53 #endif 54