| // Copyright (c) 2012 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. |
| |
| #include "wimax_manager/byte_identifier.h" |
| |
| using std::string; |
| |
| namespace wimax_manager { |
| |
| namespace { |
| |
| const char kHexDigits[] = "0123456789abcdef"; |
| |
| } // namespace |
| |
| ByteIdentifier::ByteIdentifier(size_t length) |
| : data_(length, 0) { |
| } |
| |
| ByteIdentifier::ByteIdentifier(const uint8_t *data, size_t length) |
| : data_(data, data + length) { |
| } |
| |
| string ByteIdentifier::GetHexString() const { |
| string hex_string; |
| hex_string.reserve(data_.size() * 3); |
| for (size_t i = 0; i < data_.size(); ++i) { |
| if (i > 0) { |
| hex_string.push_back(':'); |
| } |
| hex_string.push_back(kHexDigits[data_[i] >> 4]); |
| hex_string.push_back(kHexDigits[data_[i] & 0x0f]); |
| } |
| return hex_string; |
| } |
| |
| void ByteIdentifier::CopyFrom(const ByteIdentifier &identifier) { |
| data_ = identifier.data_; |
| } |
| |
| } // namespace wimax_manager |