[Jsonrpc-cpp-devel] Client abstract class - Send not virtual, Recv is
Brought to you by:
s-vincent
|
From: Chris L. <chr...@gm...> - 2012-07-13 21:32:45
|
Hello,
I'm making a tool to remotely control a HTPC that runs XBMC. I want to
support both TCP and HTTP, but I noticed that for the derived clients,
TcpClient and HttpClient, the [ssize_t Send(const std::string& data)]
function is local to each derived class, and is not purely virtual from the
base Client class. I came into problems when I tried to construct the
clients from the base class depending on arguments supplied at runtime. For
example:
Json::Rpc::Client* client;
if(Args.getProto() == "tcp")
{
client = new Json::Rpc::TcpClient(Args.getHost(), Args.getPort());
} else if(Args.getProto() == "http")
{
client = new Json::Rpc::HttpClient(Args.getHost(), Args.getPort());
}
... builds queryStr ...
client->Send(queryStr); <--- This causes error: 'class Json::Rpc::Client'
has no member named 'Send'
I'm new to Jsonrpc-cpp, so maybe I'm having a brain fart and I'm not seeing
why Send(const std::string& data) is not purely virtual. Anyone else ran
into problems like this? I haven't had the time to see if I can patch up
the library and make it work, I may do that later this weekend.
Regards,
Chris
|