| Index: control_interface.h
|
| diff --git a/control_interface.h b/control_interface.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5871f2ea5b68d914aafc1b67cc176dd6fe9fb39f
|
| --- /dev/null
|
| +++ b/control_interface.h
|
| @@ -0,0 +1,59 @@
|
| +// 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_CONTROL_INTERFACE_
|
| +#define SHILL_CONTROL_INTERFACE_
|
| +
|
| +#include <string>
|
| +
|
| +namespace shill {
|
| +
|
| +class Manager;
|
| +class Service;
|
| +class Device;
|
| +
|
| +using std::string;
|
| +
|
| +// This is the Inteface for "partner" objects which are in charge of
|
| +// RPC to the various core classes.
|
| +class ProxyInterface {
|
| + public:
|
| + virtual void SetProperty(const string &key, const string &value) = 0;
|
| + virtual const string *GetProperty(const string &key) = 0;
|
| + virtual void ClearProperty(const string &key) = 0;
|
| + virtual ~ProxyInterface() {}
|
| +};
|
| +
|
| +// These are the functions that a Manager proxy must support
|
| +class ManagerProxyInterface {
|
| + public:
|
| + virtual void UpdateRunning() = 0;
|
| + virtual ~ManagerProxyInterface() {}
|
| +};
|
| +
|
| +// These are the functions that a Manager proxy must support
|
| +class ServiceProxyInterface {
|
| + public:
|
| + virtual void UpdateConnected() = 0;
|
| + virtual ~ServiceProxyInterface() {}
|
| +};
|
| +
|
| +// These are the functions that a Manager proxy must support
|
| +class DeviceProxyInterface {
|
| + public:
|
| + virtual void UpdateEnabled() = 0;
|
| + virtual ~DeviceProxyInterface() {}
|
| +};
|
| +
|
| +// This is the Interface for an object factory that creates proxy objects
|
| +class ControlInterface {
|
| + public:
|
| + virtual ManagerProxyInterface *CreateManagerProxy(Manager *manager) = 0;
|
| + virtual ServiceProxyInterface *CreateServiceProxy(Service *service) = 0;
|
| + virtual DeviceProxyInterface *CreateDeviceProxy(Device *device) = 0;
|
| + virtual ~ControlInterface() {}
|
| +};
|
| +
|
| +} // namespace shill
|
| +#endif // SHILL_CONTROL_INTERFACE_
|
|
|