From 2c5dbecb3c1e9d8257c1c80eac7fcae5fb51b508 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 31 Mar 2015 13:54:50 -0700 Subject: More CAPI work, and move old control/ and old node/Node to attic. --- control/NodeControlService.hpp | 84 ------------------------------------------ 1 file changed, 84 deletions(-) delete mode 100644 control/NodeControlService.hpp (limited to 'control/NodeControlService.hpp') diff --git a/control/NodeControlService.hpp b/control/NodeControlService.hpp deleted file mode 100644 index ac647d7e..00000000 --- a/control/NodeControlService.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - * ZeroTier One - Network Virtualization Everywhere - * Copyright (C) 2011-2015 ZeroTier, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * -- - * - * ZeroTier may be used and distributed under the terms of the GPLv3, which - * are available at: http://www.gnu.org/licenses/gpl-3.0.html - * - * If you would like to embed ZeroTier into a commercial application or - * redistribute it in a modified binary form, please contact ZeroTier Networks - * LLC. Start here: http://www.zerotier.com/ - */ - -#ifndef ZT_NODECONTROLSERVICE_HPP -#define ZT_NODECONTROLSERVICE_HPP - -#include -#include - -#include "IpcConnection.hpp" -#include "IpcListener.hpp" - -#include "../node/Constants.hpp" -#include "../node/NonCopyable.hpp" -#include "../node/Thread.hpp" - -namespace ZeroTier { - -class Node; - -/** - * Background controller service that controls and configures a node - * - * This is used with system-installed instances of ZeroTier One to - * provide the IPC-based control bus service for node configuration. - */ -class NodeControlService : NonCopyable -{ -public: - /** - * @param node Node to control and configure - * @param authToken Authorization token for clients - */ - NodeControlService(Node *node,const char *authToken); - - ~NodeControlService(); - - // Background thread waits for node to initialize, then creates IpcListener and - // terminates. It also terminates on delete if it hasn't bootstrapped yet. - void threadMain() - throw(); - -private: - static void _CBcommandHandler(void *arg,IpcConnection *ipcc,IpcConnection::EventType event,const char *commandLine); - void _doCommand(IpcConnection *ipcc,const char *commandLine); - - Node *_node; - IpcListener *_listener; - std::string _authToken; - - std::map< IpcConnection *,bool > _connections; - Mutex _connections_m; - - volatile bool _running; - Thread _thread; -}; - -} // namespace ZeroTier - -#endif -- cgit v1.2.3