Chromium Code Reviews| Index: components/copresence/handlers/directive_handler.h |
| diff --git a/components/copresence/handlers/directive_handler.h b/components/copresence/handlers/directive_handler.h |
| index 8a415f1dbb77cda9b70dfce35cd6ad2550d1e822..457d74af9daefd6b77c56e9c9682f331a5ec7e11 100644 |
| --- a/components/copresence/handlers/directive_handler.h |
| +++ b/components/copresence/handlers/directive_handler.h |
| @@ -2,8 +2,8 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_ |
| -#define COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_ |
| +#ifndef COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_H_ |
| +#define COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_H_ |
| #include <string> |
| @@ -18,18 +18,23 @@ namespace copresence { |
| class AudioDirectiveHandler; |
| class Directive; |
| -// The directive handler manages transmit and receive directives given to it |
| -// by the client. |
| +// The directive handler manages transmit and receive directives |
| +// given to it by the client. |
| class DirectiveHandler { |
| public: |
| - DirectiveHandler(const AudioRecorder::DecodeSamplesCallback& decode_cb, |
| - const AudioDirectiveList::EncodeTokenCallback& encode_cb); |
| - ~DirectiveHandler(); |
| + DirectiveHandler(); |
| + virtual ~DirectiveHandler(); |
| + |
| + // Initialize the |audio_handler_| with the appropriate callbacks. |
| + // This function must be called before any others. |
|
willchan no longer on Chromium
2014/08/08 01:05:59
If it's not safe to use this object before Initial
Charlie
2014/08/08 21:57:52
We explicitly don't want these to be constructor p
willchan no longer on Chromium
2014/08/08 22:53:34
Can you explain further? Can't subclasses just cal
Charlie
2014/08/08 23:38:30
Yes, but this is easier than passing in a bunch of
|
| + virtual void Initialize( |
| + const AudioRecorder::DecodeSamplesCallback& decode_cb, |
| + const AudioDirectiveList::EncodeTokenCallback& encode_cb); |
| // Adds a directive to handle. |
| - void AddDirective(const copresence::Directive& directive); |
| + virtual void AddDirective(const copresence::Directive& directive); |
|
willchan no longer on Chromium
2014/08/08 01:05:58
Why are these virtual?
Charlie
2014/08/08 21:57:52
So the FakeDirectiveHandler can override them. See
willchan no longer on Chromium
2014/08/08 22:53:33
Got it, that makes sense.
My personal suggestion,
Charlie
2014/08/08 23:38:30
Not a bad idea. This is also what we do in the cli
|
| // Removes any directives associated with the given operation id. |
| - void RemoveDirectives(const std::string& op_id); |
| + virtual void RemoveDirectives(const std::string& op_id); |
| private: |
| scoped_ptr<AudioDirectiveHandler> audio_handler_; |
| @@ -39,4 +44,4 @@ class DirectiveHandler { |
| } // namespace copresence |
| -#endif // COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_ |
| +#endif // COMPONENTS_COPRESENCE_HANDLERS_DIRECTIVE_HANDLER_H_ |