blob: e4f1f9ad24f0444552c727603f6a12075eb044d6 [file] [log] [blame]
// Copyright (c) 2013 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 P2P_SERVER_FAKE_SERVICE_PUBLISHER_H_
#define P2P_SERVER_FAKE_SERVICE_PUBLISHER_H_
#include <map>
#include <string>
#include "p2p/server/service_publisher.h"
namespace p2p {
namespace server {
// A ServicePublisher that doesn't really do anything.
class FakeServicePublisher : public ServicePublisher {
public:
FakeServicePublisher() : num_connections_(0) {}
FakeServicePublisher(const FakeServicePublisher&) = delete;
FakeServicePublisher& operator=(const FakeServicePublisher&) = delete;
void AddFile(const std::string& file, size_t file_size) override {
files_[file] = file_size;
}
void RemoveFile(const std::string& file) override {
std::map<std::string, size_t>::iterator it = files_.find(file);
if (it != files_.end())
files_.erase(it);
}
void UpdateFileSize(const std::string& file, size_t file_size) override {
files_[file] = file_size;
}
void SetNumConnections(int num_connections) override {
num_connections_ = num_connections;
}
std::map<std::string, size_t> files() override { return files_; }
private:
std::map<std::string, size_t> files_;
int num_connections_;
};
} // namespace server
} // namespace p2p
#endif // P2P_SERVER_FAKE_SERVICE_PUBLISHER_H_