blob: 4d1461119dd9ad9baeba07f6a889545df7c37bb6 [file] [log] [blame]
//
// Copyright (C) 2015 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#ifndef APMANAGER_DBUS_CONFIG_DBUS_ADAPTOR_H_
#define APMANAGER_DBUS_CONFIG_DBUS_ADAPTOR_H_
#include <string>
#include <base/macros.h>
#include <brillo/errors/error.h>
#include <dbus_bindings/org.chromium.apmanager.Config.h>
#include "apmanager/config_adaptor_interface.h"
namespace apmanager {
class Config;
class ConfigDBusAdaptor
: public org::chromium::apmanager::ConfigAdaptor,
public org::chromium::apmanager::ConfigInterface,
public ConfigAdaptorInterface {
public:
ConfigDBusAdaptor(const scoped_refptr<dbus::Bus>& bus,
brillo::dbus_utils::ExportedObjectManager* object_manager,
Config* config,
int service_identifier);
virtual ~ConfigDBusAdaptor();
// Implementation of org::chromium::apmanager::ConfigAdaptor.
bool ValidateSsid(brillo::ErrorPtr* error,
const std::string& value) override;
bool ValidateSecurityMode(brillo::ErrorPtr* error,
const std::string& value) override;
bool ValidatePassphrase(brillo::ErrorPtr* error,
const std::string& value) override;
bool ValidateHwMode(brillo::ErrorPtr* error,
const std::string& value) override;
bool ValidateOperationMode(brillo::ErrorPtr* error,
const std::string& value) override;
bool ValidateChannel(brillo::ErrorPtr* error,
const uint16_t& value) override;
// Implementation of ConfigAdaptorInterface.
RPCObjectIdentifier GetRpcObjectIdentifier() override;
void SetSsid(const std::string& ssid) override;
std::string GetSsid() override;
void SetInterfaceName(const std::string& interface_name) override;
std::string GetInterfaceName() override;
void SetSecurityMode(const std::string& security_mode) override;
std::string GetSecurityMode() override;
void SetPassphrase(const std::string& passphrase) override;
std::string GetPassphrase() override;
void SetHwMode(const std::string& hw_mode) override;
std::string GetHwMode() override;
void SetOperationMode(const std::string& op_mode) override;
std::string GetOperationMode() override;
void SetChannel(uint16_t channel) override;
uint16_t GetChannel() override;
void SetHiddenNetwork(bool hidden) override;
bool GetHiddenNetwork() override;
void SetBridgeInterface(const std::string& interface_name) override;
std::string GetBridgeInterface() override;
void SetServerAddressIndex(uint16_t) override;
uint16_t GetServerAddressIndex() override;
void SetFullDeviceControl(bool full_control) override;
bool GetFullDeviceControl() override;
private:
dbus::ObjectPath dbus_path_;
brillo::dbus_utils::DBusObject dbus_object_;
Config* config_;
DISALLOW_COPY_AND_ASSIGN(ConfigDBusAdaptor);
};
} // namespace apmanager
#endif // APMANAGER_DBUS_CONFIG_DBUS_ADAPTOR_H_