| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/midi/midi_manager_usb.h" | 5 #include "media/midi/midi_manager_usb.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 private: | 37 private: |
| 38 std::string log_; | 38 std::string log_; |
| 39 | 39 |
| 40 DISALLOW_COPY_AND_ASSIGN(Logger); | 40 DISALLOW_COPY_AND_ASSIGN(Logger); |
| 41 }; | 41 }; |
| 42 | 42 |
| 43 class FakeUsbMidiDevice : public UsbMidiDevice { | 43 class FakeUsbMidiDevice : public UsbMidiDevice { |
| 44 public: | 44 public: |
| 45 explicit FakeUsbMidiDevice(Logger* logger) : logger_(logger) {} | 45 explicit FakeUsbMidiDevice(Logger* logger) : logger_(logger) {} |
| 46 virtual ~FakeUsbMidiDevice() {} | 46 ~FakeUsbMidiDevice() override {} |
| 47 | 47 |
| 48 virtual std::vector<uint8> GetDescriptor() override { | 48 std::vector<uint8> GetDescriptor() override { |
| 49 logger_->AddLog("UsbMidiDevice::GetDescriptor\n"); | 49 logger_->AddLog("UsbMidiDevice::GetDescriptor\n"); |
| 50 return descriptor_; | 50 return descriptor_; |
| 51 } | 51 } |
| 52 | 52 |
| 53 virtual void Send(int endpoint_number, | 53 void Send(int endpoint_number, const std::vector<uint8>& data) override { |
| 54 const std::vector<uint8>& data) override { | |
| 55 logger_->AddLog("UsbMidiDevice::Send "); | 54 logger_->AddLog("UsbMidiDevice::Send "); |
| 56 logger_->AddLog(base::StringPrintf("endpoint = %d data =", | 55 logger_->AddLog(base::StringPrintf("endpoint = %d data =", |
| 57 endpoint_number)); | 56 endpoint_number)); |
| 58 for (size_t i = 0; i < data.size(); ++i) | 57 for (size_t i = 0; i < data.size(); ++i) |
| 59 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i])); | 58 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i])); |
| 60 logger_->AddLog("\n"); | 59 logger_->AddLog("\n"); |
| 61 } | 60 } |
| 62 | 61 |
| 63 void SetDescriptor(const std::vector<uint8> descriptor) { | 62 void SetDescriptor(const std::vector<uint8> descriptor) { |
| 64 descriptor_ = descriptor; | 63 descriptor_ = descriptor; |
| 65 } | 64 } |
| 66 | 65 |
| 67 private: | 66 private: |
| 68 std::vector<uint8> descriptor_; | 67 std::vector<uint8> descriptor_; |
| 69 Logger* logger_; | 68 Logger* logger_; |
| 70 | 69 |
| 71 DISALLOW_COPY_AND_ASSIGN(FakeUsbMidiDevice); | 70 DISALLOW_COPY_AND_ASSIGN(FakeUsbMidiDevice); |
| 72 }; | 71 }; |
| 73 | 72 |
| 74 class FakeMidiManagerClient : public MidiManagerClient { | 73 class FakeMidiManagerClient : public MidiManagerClient { |
| 75 public: | 74 public: |
| 76 explicit FakeMidiManagerClient(Logger* logger) | 75 explicit FakeMidiManagerClient(Logger* logger) |
| 77 : complete_start_session_(false), | 76 : complete_start_session_(false), |
| 78 result_(MIDI_NOT_SUPPORTED), | 77 result_(MIDI_NOT_SUPPORTED), |
| 79 logger_(logger) {} | 78 logger_(logger) {} |
| 80 virtual ~FakeMidiManagerClient() {} | 79 ~FakeMidiManagerClient() override {} |
| 81 | 80 |
| 82 virtual void CompleteStartSession(int client_id, MidiResult result) override { | 81 void CompleteStartSession(int client_id, MidiResult result) override { |
| 83 complete_start_session_ = true; | 82 complete_start_session_ = true; |
| 84 result_ = result; | 83 result_ = result; |
| 85 } | 84 } |
| 86 | 85 |
| 87 virtual void ReceiveMidiData(uint32 port_index, | 86 void ReceiveMidiData(uint32 port_index, |
| 88 const uint8* data, | 87 const uint8* data, |
| 89 size_t size, | 88 size_t size, |
| 90 double timestamp) override { | 89 double timestamp) override { |
| 91 logger_->AddLog("MidiManagerClient::ReceiveMidiData "); | 90 logger_->AddLog("MidiManagerClient::ReceiveMidiData "); |
| 92 logger_->AddLog(base::StringPrintf("port_index = %d data =", port_index)); | 91 logger_->AddLog(base::StringPrintf("port_index = %d data =", port_index)); |
| 93 for (size_t i = 0; i < size; ++i) | 92 for (size_t i = 0; i < size; ++i) |
| 94 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i])); | 93 logger_->AddLog(base::StringPrintf(" 0x%02x", data[i])); |
| 95 logger_->AddLog("\n"); | 94 logger_->AddLog("\n"); |
| 96 } | 95 } |
| 97 | 96 |
| 98 virtual void AccumulateMidiBytesSent(size_t size) override { | 97 void AccumulateMidiBytesSent(size_t size) override { |
| 99 logger_->AddLog("MidiManagerClient::AccumulateMidiBytesSent "); | 98 logger_->AddLog("MidiManagerClient::AccumulateMidiBytesSent "); |
| 100 // Windows has no "%zu". | 99 // Windows has no "%zu". |
| 101 logger_->AddLog(base::StringPrintf("size = %u\n", | 100 logger_->AddLog(base::StringPrintf("size = %u\n", |
| 102 static_cast<unsigned>(size))); | 101 static_cast<unsigned>(size))); |
| 103 } | 102 } |
| 104 | 103 |
| 105 bool complete_start_session_; | 104 bool complete_start_session_; |
| 106 MidiResult result_; | 105 MidiResult result_; |
| 107 | 106 |
| 108 private: | 107 private: |
| 109 Logger* logger_; | 108 Logger* logger_; |
| 110 | 109 |
| 111 DISALLOW_COPY_AND_ASSIGN(FakeMidiManagerClient); | 110 DISALLOW_COPY_AND_ASSIGN(FakeMidiManagerClient); |
| 112 }; | 111 }; |
| 113 | 112 |
| 114 class TestUsbMidiDeviceFactory : public UsbMidiDevice::Factory { | 113 class TestUsbMidiDeviceFactory : public UsbMidiDevice::Factory { |
| 115 public: | 114 public: |
| 116 TestUsbMidiDeviceFactory() {} | 115 TestUsbMidiDeviceFactory() {} |
| 117 virtual ~TestUsbMidiDeviceFactory() {} | 116 ~TestUsbMidiDeviceFactory() override {} |
| 118 virtual void EnumerateDevices(UsbMidiDeviceDelegate* device, | 117 void EnumerateDevices(UsbMidiDeviceDelegate* device, |
| 119 Callback callback) override { | 118 Callback callback) override { |
| 120 callback_ = callback; | 119 callback_ = callback; |
| 121 } | 120 } |
| 122 | 121 |
| 123 Callback callback_; | 122 Callback callback_; |
| 124 | 123 |
| 125 private: | 124 private: |
| 126 DISALLOW_COPY_AND_ASSIGN(TestUsbMidiDeviceFactory); | 125 DISALLOW_COPY_AND_ASSIGN(TestUsbMidiDeviceFactory); |
| 127 }; | 126 }; |
| 128 | 127 |
| 129 class MidiManagerUsbForTesting : public MidiManagerUsb { | 128 class MidiManagerUsbForTesting : public MidiManagerUsb { |
| 130 public: | 129 public: |
| 131 explicit MidiManagerUsbForTesting( | 130 explicit MidiManagerUsbForTesting( |
| 132 scoped_ptr<UsbMidiDevice::Factory> device_factory) | 131 scoped_ptr<UsbMidiDevice::Factory> device_factory) |
| 133 : MidiManagerUsb(device_factory.Pass()) {} | 132 : MidiManagerUsb(device_factory.Pass()) {} |
| 134 virtual ~MidiManagerUsbForTesting() {} | 133 ~MidiManagerUsbForTesting() override {} |
| 135 | 134 |
| 136 void CallCompleteInitialization(MidiResult result) { | 135 void CallCompleteInitialization(MidiResult result) { |
| 137 CompleteInitialization(result); | 136 CompleteInitialization(result); |
| 138 base::RunLoop run_loop; | 137 base::RunLoop run_loop; |
| 139 run_loop.RunUntilIdle(); | 138 run_loop.RunUntilIdle(); |
| 140 } | 139 } |
| 141 | 140 |
| 142 private: | 141 private: |
| 143 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsbForTesting); | 142 DISALLOW_COPY_AND_ASSIGN(MidiManagerUsbForTesting); |
| 144 }; | 143 }; |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 "data = 0x90 0x45 0x7f\n" | 347 "data = 0x90 0x45 0x7f\n" |
| 349 "MidiManagerClient::ReceiveMidiData port_index = 0 " | 348 "MidiManagerClient::ReceiveMidiData port_index = 0 " |
| 350 "data = 0xf0 0x00 0x01\n" | 349 "data = 0xf0 0x00 0x01\n" |
| 351 "MidiManagerClient::ReceiveMidiData port_index = 0 data = 0xf7\n", | 350 "MidiManagerClient::ReceiveMidiData port_index = 0 data = 0xf7\n", |
| 352 logger_.TakeLog()); | 351 logger_.TakeLog()); |
| 353 } | 352 } |
| 354 | 353 |
| 355 } // namespace | 354 } // namespace |
| 356 | 355 |
| 357 } // namespace media | 356 } // namespace media |
| OLD | NEW |