CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
web_client.h
1
2#pragma once
3
4#include <system/uri.h>
5#include <system/component_model/component.h>
6#include <system/text/encoding.h>
7#include <system/collections/specialized/name_value_collection.h>
8#include <mutex>
9
10namespace System { namespace Net {
11
12class WebRequest;
13class WebResponse;
14
19class ASPOSECPP_SHARED_CLASS WebClient : public ComponentModel::Component
20{
22 typedef WebClient ThisType;
25
27 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
29 ASPOSECPP_SHARED_RTTI_INFO_DECL();
30
31public:
33 ASPOSECPP_SHARED_API WebClient();
35 ASPOSECPP_SHARED_API ~WebClient();
36
39 ASPOSECPP_SHARED_API SharedPtr<Text::Encoding> get_Encoding() const;
40
43 ASPOSECPP_SHARED_API void set_Encoding(const SharedPtr<Text::Encoding>& encoding);
44
47 ASPOSECPP_SHARED_API void set_UseDefaultCredentials(bool);
48
52 ASPOSECPP_SHARED_API String DownloadString(const String& address) const;
53
57 ASPOSECPP_SHARED_API String DownloadString(const SharedPtr<Uri>& address) const;
58
62 ASPOSECPP_SHARED_API ByteArrayPtr DownloadData(const String& address) const;
63
67 ASPOSECPP_SHARED_API ByteArrayPtr DownloadData(const SharedPtr<Uri>& address) const;
68
69private:
73 SharedPtr<Uri> m_base_address;
77 mutable std::mutex m_mutex;
78
79#ifdef ASPOSE_GET_SHARED_MEMBERS
81 void GetSharedMembers(System::Object::shared_members_type& result) const override;
82#endif
83
87 SharedPtr<Uri> GetAbsoluteUri(const String& address) const;
88
92 SharedPtr<Uri> GetAbsoluteUri(const SharedPtr<Uri>& address) const;
93
96 String BuildQuery() const;
97
102 String DecodeData(const SharedPtr<WebResponse>& response, const ByteArrayPtr& data) const;
103
107 String DownloadStringInternal(const SharedPtr<Uri>& address) const;
108
112 ByteArrayPtr DownloadDataInternal(const SharedPtr<Uri>& address) const;
113
117 SharedPtr<WebRequest> CreateWebRequest(const SharedPtr<Uri>& address) const;
118};
119
120}} // namespace System::Net
Dummy class to make translated code using Component class compilable. Objects of this class should on...
Definition: component.h:15
WebClient provides common methods for sending and receiving data. Objects of this class should only b...
Definition: web_client.h:20
ByteArrayPtr DownloadData(const SharedPtr< Uri > &address) const
Downloads the specified resource as a byte array.
void set_UseDefaultCredentials(bool)
NOT IMPLEMENTED.
WebClient()
Constructs a new instance.
void set_Encoding(const SharedPtr< Text::Encoding > &encoding)
Sets the encoding used to download or upload strings.
String DownloadString(const SharedPtr< Uri > &address) const
Downloads the specified resource as a string.
ByteArrayPtr DownloadData(const String &address) const
Downloads the specified resource as a byte array.
String DownloadString(const String &address) const
Downloads the specified resource as a string.
~WebClient()
Destructs the current instance.
SharedPtr< Text::Encoding > get_Encoding() const
Gets the encoding used to download or upload strings.
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
@ WebRequest
A collection contains the headers of web requests.
@ WebResponse
A collection contains the headers of web response.
Definition: db_command.h:9