http 接続にカサブランカ C++ Rest SDKを使用しています。以下は、http リクエストを行う基本的なコードです。
カサブランカのドキュメントからコピー:
// Creates an HTTP request and prints the length of the response stream.
pplx::task<void> HTTPStreamingAsync()
{
http_client client(L"http://www.google.com");
// Make the request and asynchronously process the response.
return client.request(methods::GET).then([](http_response response)
{
// Response received, do whatever here.
});
}
これは非同期リクエストを行い、完了するとコールバックを行います。これらのコードを使用する独自のクラスを作成する必要があり、それを独自のコールバックにラップしたいと考えています。
簡単にするために、google.com の html コードを出力するメソッドを持つクラスを作成したいとします。
だから私は次のようなものを期待していました:
MyClass myObject;
myObject.getGoogleHTML([](std::string htmlString)
{
std::cout << htmlString;
});
次のような関連記事を検索して読みました。
- C++ クラス メンバー コールバックの簡単な例
- C++11 スタイルのコールバック?
- Friday Q&A 2011-06-03: Objective-C ブロック vs. C++0x ラムダ: 戦え!
しかし、私はcompletion block
inに慣れているので、まだ少し混乱していObjective-C
ます。コールバックをラップするようなクラスを構築するにはどうすればよいですか?