1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/extensions/api/braille_display_private/braille_controller.h" 6 7#include "base/memory/scoped_ptr.h" 8#include "base/memory/singleton.h" 9#include "chrome/common/extensions/api/braille_display_private.h" 10 11namespace extensions { 12namespace api { 13namespace braille_display_private { 14 15// Stub implementation of BrailleController for use when brlapi is not 16// enabled. 17class BrailleControllerImpl : public BrailleController { 18 public: 19 static BrailleControllerImpl* GetInstance(); 20 virtual scoped_ptr<DisplayState> GetDisplayState() OVERRIDE; 21 virtual void WriteDots(const std::string& cells) OVERRIDE; 22 virtual void AddObserver(BrailleObserver* observer) OVERRIDE; 23 virtual void RemoveObserver(BrailleObserver* observer) OVERRIDE; 24 25 private: 26 BrailleControllerImpl(); 27 virtual ~BrailleControllerImpl(); 28 friend struct DefaultSingletonTraits<BrailleControllerImpl>; 29 DISALLOW_COPY_AND_ASSIGN(BrailleControllerImpl); 30}; 31 32BrailleController::BrailleController() { 33} 34 35BrailleController::~BrailleController() { 36} 37 38// static 39BrailleController* BrailleController::GetInstance() { 40 return BrailleControllerImpl::GetInstance(); 41} 42 43BrailleControllerImpl::BrailleControllerImpl() { 44} 45 46BrailleControllerImpl::~BrailleControllerImpl() { 47} 48 49// static 50BrailleControllerImpl* BrailleControllerImpl::GetInstance() { 51 return Singleton<BrailleControllerImpl, 52 LeakySingletonTraits<BrailleControllerImpl> >::get(); 53} 54 55scoped_ptr<DisplayState> BrailleControllerImpl::GetDisplayState() { 56 return scoped_ptr<DisplayState>(new DisplayState()).Pass(); 57} 58 59void BrailleControllerImpl::WriteDots(const std::string& cells) { 60} 61 62void BrailleControllerImpl::AddObserver(BrailleObserver* observer) { 63} 64 65void BrailleControllerImpl::RemoveObserver(BrailleObserver* observer) { 66} 67 68} // namespace braille_display_private 69} // namespace api 70} // namespace extensions 71