blob: 37906ddecb60f6bec7f0a7b444709c128ecce04d [file] [log] [blame]
// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHILL_DAEMON_H_
#define SHILL_DAEMON_H_
#include <string>
#include "shill/glib.h"
#include "shill/manager.h"
#include "shill/proxy_factory.h"
#include "shill/shill_event.h"
#include "shill/sockets.h"
namespace shill {
class Config;
class ControlInterface;
class GLib;
class Daemon {
public:
Daemon(Config *config, ControlInterface *control);
~Daemon();
void AddDeviceToBlackList(const std::string &device_name);
void Run();
private:
friend class ShillDaemonTest;
void Start();
Config *config_;
ControlInterface *control_;
Manager manager_;
EventDispatcher dispatcher_;
Sockets sockets_;
GLib glib_;
ProxyFactory proxy_factory_;
};
} // namespace shill
#endif // SHILL_DAEMON_H_