|
|
|
|
@ -99,6 +99,7 @@ Node::NodeControlClient::NodeControlClient(const char *hp,void (*resultHandler)(
|
|
|
|
|
_impl((void *)new _NodeControlClientImpl) |
|
|
|
|
{ |
|
|
|
|
_NodeControlClientImpl *impl = (_NodeControlClientImpl *)_impl; |
|
|
|
|
impl->ipcc = (IpcConnection *)0; |
|
|
|
|
|
|
|
|
|
if (!hp) |
|
|
|
|
hp = ZT_DEFAULTS.defaultHomePath.c_str(); |
|
|
|
|
@ -121,6 +122,7 @@ Node::NodeControlClient::NodeControlClient(const char *hp,void (*resultHandler)(
|
|
|
|
|
impl->ipcc = new IpcConnection((std::string(ZT_IPC_ENDPOINT_BASE) + myaddr).c_str(),&_CBipcResultHandler,_impl); |
|
|
|
|
impl->ipcc->printf("auth %s"ZT_EOL_S,at.c_str()); |
|
|
|
|
} catch ( ... ) { |
|
|
|
|
impl->ipcc = (IpcConnection *)0; |
|
|
|
|
impl->err = "failure connecting to running ZeroTier One service"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -136,11 +138,20 @@ Node::NodeControlClient::~NodeControlClient()
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const char *Node::NodeControlClient::error() const |
|
|
|
|
throw() |
|
|
|
|
{ |
|
|
|
|
if (((_NodeControlClientImpl *)_impl)->err.length()) |
|
|
|
|
return ((_NodeControlClientImpl *)_impl)->err.c_str(); |
|
|
|
|
return (const char *)0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Node::NodeControlClient::send(const char *command) |
|
|
|
|
throw() |
|
|
|
|
{ |
|
|
|
|
try { |
|
|
|
|
((_NodeControlClientImpl *)_impl)->ipcc->printf("%s"ZT_EOL_S,command); |
|
|
|
|
if (((_NodeControlClientImpl *)_impl)->ipcc) |
|
|
|
|
((_NodeControlClientImpl *)_impl)->ipcc->printf("%s"ZT_EOL_S,command); |
|
|
|
|
} catch ( ... ) {} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|