diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-08-01 17:32:37 -0400 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-08-01 17:32:37 -0400 |
| commit | 741642ba531e487c18c8139c4a2e9510eed0466d (patch) | |
| tree | 8722e1ca4d49dcb74be2429bdbe65b396aeed7c2 /node/Node.cpp | |
| parent | 8d30d51cf3925007a4f773928b62269836228b44 (diff) | |
| download | infinitytier-741642ba531e487c18c8139c4a2e9510eed0466d.tar.gz infinitytier-741642ba531e487c18c8139c4a2e9510eed0466d.zip | |
netconf service work
Diffstat (limited to 'node/Node.cpp')
| -rw-r--r-- | node/Node.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 9c748b4a..e67dd526 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -67,6 +67,7 @@ #include "Mutex.hpp" #include "Multicaster.hpp" #include "CMWC4096.hpp" +#include "Service.hpp" #include "../version.h" @@ -191,6 +192,10 @@ struct _NodeImpl } }; +static void _netconfServiceMessageHandler(void *renv,Service &svc,const Dictionary &msg) +{ +} + Node::Node(const char *hp) throw() : _impl(new _NodeImpl) @@ -209,6 +214,10 @@ Node::~Node() { _NodeImpl *impl = (_NodeImpl *)_impl; +#ifndef __WINDOWS__ + delete impl->renv.netconfService; +#endif + delete impl->renv.sysEnv; delete impl->renv.topology; delete impl->renv.sw; @@ -337,6 +346,18 @@ Node::ReasonForTermination Node::run() return impl->terminateBecause(Node::NODE_UNRECOVERABLE_ERROR,"unknown exception during initialization"); } +#ifndef __WINDOWS__ + try { + std::string netconfServicePath(_r->homePath + ZT_PATH_SEPARATOR_S + "services.d" + ZT_PATH_SEPARATOR_S + "netconf.service"); + if (Utils::fileExists(netconfServicePath.c_str())) { + LOG("netconf.d/netconfi.service appears to exist, starting..."); + _r->netconfService = new Service(_r,"netconf",netconfServicePath.c_str(),&_netconfServiceMessageHandler,_r); + } + } catch ( ... ) { + LOG("unexpected exception attempting to start services"); + } +#endif + try { uint64_t lastPingCheck = 0; uint64_t lastClean = Utils::now(); // don't need to do this immediately |
