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 11 namespace extensions { 12 namespace api { 13 namespace braille_display_private { 14 15 // Stub implementation of BrailleController for use when brlapi is not 16 // enabled. 17 class 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 32 BrailleController::BrailleController() { 33 } 34 35 BrailleController::~BrailleController() { 36 } 37 38 // static 39 BrailleController* BrailleController::GetInstance() { 40 return BrailleControllerImpl::GetInstance(); 41 } 42 43 BrailleControllerImpl::BrailleControllerImpl() { 44 } 45 46 BrailleControllerImpl::~BrailleControllerImpl() { 47 } 48 49 // static 50 BrailleControllerImpl* BrailleControllerImpl::GetInstance() { 51 return Singleton<BrailleControllerImpl, 52 LeakySingletonTraits<BrailleControllerImpl> >::get(); 53 } 54 55 scoped_ptr<DisplayState> BrailleControllerImpl::GetDisplayState() { 56 return scoped_ptr<DisplayState>(new DisplayState()).Pass(); 57 } 58 59 void BrailleControllerImpl::WriteDots(const std::string& cells) { 60 } 61 62 void BrailleControllerImpl::AddObserver(BrailleObserver* observer) { 63 } 64 65 void BrailleControllerImpl::RemoveObserver(BrailleObserver* observer) { 66 } 67 68 } // namespace braille_display_private 69 } // namespace api 70 } // namespace extensions 71