16a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran/*
26a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * Copyright (C) 2014 The Android Open Source Project
36a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran *
46a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * Licensed under the Apache License, Version 2.0 (the "License");
56a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * you may not use this file except in compliance with the License.
66a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * You may obtain a copy of the License at
76a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran *
86a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran *      http://www.apache.org/licenses/LICENSE-2.0
96a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran *
106a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * Unless required by applicable law or agreed to in writing, software
116a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * distributed under the License is distributed on an "AS IS" BASIS,
126a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * See the License for the specific language governing permissions and
146a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran * limitations under the License.
156a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran */
166a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran
176a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran#ifndef NETD_SERVER_LOCAL_NETWORK_H
186a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran#define NETD_SERVER_LOCAL_NETWORK_H
196a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran
206a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran#include "Network.h"
216a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran
227035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colittinamespace android {
237035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colittinamespace net {
247035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti
256a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandranclass LocalNetwork : public Network {
266a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandranpublic:
276a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran    explicit LocalNetwork(unsigned netId);
286a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran    virtual ~LocalNetwork();
296a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran
306a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandranprivate:
316a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran    Type getType() const override;
326a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran    int addInterface(const std::string& interface) override WARN_UNUSED_RESULT;
336a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran    int removeInterface(const std::string& interface) override WARN_UNUSED_RESULT;
346a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran};
356a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran
367035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti}  // namespace net
377035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti}  // namespace android
387035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti
396a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran#endif  // NETD_SERVER_LOCAL_NETWORK_H
40